Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户都有一个唯一的用户名和密码。
用户在登录时键入正确的用户名和密码后,就能够进入系统和自己的家目录。
实现用户管理,要完成的工作主要有如下几个方面:
- 用户的添加、删除与修改。
- 用户密码的管理。
- 用户组的管理。
1.1 id 查看用户信息
1)常用参数:
参数 | 作用 |
---|---|
-u | 只显示用户UID |
-g | 只显示用户GID |
2)使用实例:
# id root
uid=0(root) gid=0(root) groups=0(root)
# id -u root
0
# id -g root
0
1.2 chage 查看和更改用户属性
1)常用参数:
参数 | 作用 |
---|---|
-l | 查看用户和密码属性 |
-E | 设定账户过期时间 |
2)使用实例:
# 查看用户和密码属性
# chage -l oldboy
Last password change : Mar 24, 2022 # 表示账号创建时的时间
Account expires : May 18, 2022 # 表示账号到期时间
# 设定账户过期时间
# chage -E "Jun 18,2022" oldboy
# chage -l oldboy
Account expires : Jun 18, 2022
1.3 useradd 创建用户
1.3.1 常用参数
参数 | 作用 |
---|---|
-u | 指定用户UID |
-g | 指定用户属于的组 |
-s | 指定用户登录的shell |
-d | 指定用户的家目录 |
-M | 创建用户时不创建家目录 |
1.3.2 使用实例
1)指定创建用户的UID
# useradd oldboy01 -u 10086
# id oldboy01
uid=10086(oldboy01) gid=10086(oldboy01) groups=10086(oldboy01)
2)指定创建用户属于的用户组
# useradd oldboy02 -g oldboy01
# id oldboy02
uid=10087(oldboy02) gid=10086(oldboy01) groups=10086(oldboy01)
3)指定用户登录的shell
# useradd -s /sbin/nologin oldboy03
# grep "oldboy03" /etc/passwd
oldboy03:!!:10088:10088::/home/oldboy03:/sbin/nologin
4)指定用户的家目录
# useradd -d /tmp/ oldboy04
# grep "oldboy04" /etc/passwd
oldboy04:!!:10089:10089::/tmp/:/bin/bash
5)创建用户时不创建家目录
虽然在/etc/passwd文件中显示了它的家目录,实际上是没有家目录的
# useradd -M oldboy05
# grep "oldboy05" /etc/passwd
# ls /home
1.4 usermod 修改用户
1.4.1 常用参数
参数 | 作用 |
---|---|
-d | 修改用户的家目录 |
-g | 修改用户所属的用户组 |
-s | 修改用户登录的shell |
-u | 修改用户UID |
-e | 修改用户的有效期限 |
1.4.2 使用实例
1)修改用户家目录
# usermod -d /tmp/ oldboy01
# grep "oldboy01" /etc/passwd
oldboy01:!!:10086:10086::/tmp/:/bin/bash
2)修改用户所属的用户组
# usermod -g oldboy03 oldboy02
# id oldboy02
uid=10087(oldboy02) gid=10088(oldboy03) groups=10088(oldboy03)
3)修改用户登录的shell
# usermod -s /usr/bin/bash oldboy03
# grep "oldboy03" /etc/passwd
oldboy03:!!:10088:10088::/home/oldboy03:/usr/bin/bash
4)修改用户的UID
# usermod -u 10091 oldboy04
# id oldboy04
uid=10091(oldboy04) gid=10089(oldboy04) groups=10089(oldboy04)
5)修改用户的有效期限
# usermod -e "May 18,2022" oldboy
# chage -l oldboy
Account expires : May 18, 2022
1.5 userdel 删除用户
1)使用参数
参数 | 作用 |
---|---|
-r | 删除家目录 |
2)使用实例
# 正常删除(会保留家目录)
userdel oldboy
# 连家目录一起删除
userdel -r boy
1.6 groupadd 创建用户组
# groupadd oldboy
# grep "test" /etc/group
1.7 groupdel 删除用户组
# groupdel oldboy
# grep "test" /etc/group
1.8 su 切换用户
# su - oldboy #-表示携带用的环境变量切换