用户管理命令
普通用户: /home/用户名/,所有者和所属组都是此用户,权限是700
超级用户: /root/, 所有者和所属组都是root用户,权限是550
一、命令名称: useradd–针对新用户创建时【重点】
命令所在路径: /usr/sbin/useradd
执行权限: root
语法: useradd 用户名
选项:
-u UID: 手工指定用户的UID号
-d 家目录: 手工指定用户的家目录
-c 用户说明: 手工指定用户的说明
-g 组名: 手工指定用户的初始组
-G 组名: 指定用户的附加组
-s shell: 手工指定用户的登录shell。默认是/bin/bash
功能描述: 添加新用户
范例:
# 添加用户zgh
[root@instance-tg0skfi7 ~]# useradd zgh
#在home目录中将会看到zgh文件夹
[root@instance-tg0skfi7 ~]# cd /home
[root@instance-tg0skfi7 home]# ls
zgh
二、命令名称: passwd 【重点】
命令所在路径: /usr/bin/passwd
执行权限: 所有用户
语法: passwd 用户名
普通用户改密码直接用 passwd
选项:
-S 查询用户密码的密码状态。仅root用户可用。
-l 暂时锁定用户。仅root用户可用
-u 解锁用户。仅root用户可用
-stdin 可以通过管道符输出的数据作为用户的密码。
功能描述: 设置用户密码
范例:
# 保存或更新密码
[root@instance-tg0skfi7 zgh]# passwd zgh
Changing password for user zgh.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
三、修改用户信息usermod–针对已经存在的用户
[root@localhost ~]#usermod [选项]用户名
选项:
-u UID: 修改用户的UID号
-c 用户说明: 修改用户的说明信息
-G 组名: 修改用户的附加组
-L: 临时锁定用户(Lock)
-U: 解锁用户锁定(Unlock)
四、修改用户密码状态chage
[root@localhost ~]#chage [选项] 用户名
选项:
-l: 列出用户的详细密码状态
-d 日期: 修改密码最后一次更改日期(shadow3字段)
-m 天数: 两次密码修改间隔(4字段)
-M 天数: 密码有效期 (5字段)
-W 天数: 密码过期前警告天数 (6字段)
-I 天数: 密码过后宽限天数(7字段)
-E 日期: 账号失效时间(8字段)
# 这样设定后,用户登录后需要立即修改密码
[root@instance-tg0skfi7 ~]# chage -d 0 zgh
五、删除用户账号 userdel
[root@localhost ~]# userdel [-r] 用户名
选项:
-r 删除用户的同时删除用户家目录
[root@instance-tg0skfi7 ~]# userdel -r dog
六、切换用户身份su【重点】
[root@localhost ~]# su [选项] 用户名
选项:
-: 选项只使用“-”代表连带用户的环境变量一起切换
-c 命令: 仅执行一次命令,而不切换用户身份,借用root身份执行一次命令
超级用户切换成普通用户不需要密码
# 切换成root用户
[cat@instance-tg0skfi7 ~]$ su - root
Password:
# 切换成zgh用户
[cat@instance-tg0skfi7 ~]$ su - zgh
Password:
Last login: Sat Aug 8 12:08:24 CST 2020 on pts/1
# 没有root权限不能访问/etc/shadow文件
[zgh@instance-tg0skfi7 ~]$ cat /etc/shadow
cat: /etc/shadow: Permission denied
# 借用root身份执行一次命令
[zgh@instance-tg0skfi7 ~]$ su - root -c "cat /etc/shadow"
Password:
root:$1$b6MHGsCw$U68jBMld1kgXzJ6xewxnm/::0:99999:7:::
bin:*:16659:0:99999:7:::
daemon:*:16659:0:99999:7:::
七、命令名称: who
命令所在路径: /usr/bin/who
执行权限:所有用户
语法: who
功能描述:查看登录用户信息
范例:
[root@instance-tg0skfi7 zgh]# who
root pts/0 2020-08-04 20:46 (117.136.67.145)
zgh pts/1 2020-08-04 21:44 (117.136.67.145)
[root@instance-tg0skfi7 zgh]# w
21:51:53 up 2 days, 23:46, 2 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 117.136.67.145 20:46 1.00s 0.08s 0.00s w
zgh pts/1 117.136.67.145 21:44 3:45 0.03s 0.03s -bash
# 查看当前登录的用户
[cat@instance-tg0skfi7 ~]$ whoami
cat
八、用户组
- 添加用户组
[root@localhost ~]# groupadd [选项] 组名
选项:
-g GID: 指定组ID
- 修改组名
[root@localhost ~]# groupmod [选项] 组名
选项:
-g GID: 修改组ID
-n 新组名: 修改组名
# 把用户组shadow改名为newgroup
[root@instance-tg0skfi7 ~]# groupmod -n newgroup shadow
- 删除用户组
groupdel 组名
- 把用户添加入组或从组中删除
[root@localhost ~]# gpasswd [选项] 组名
选项:
-a 用户名: 把用户加入组
-d 用户名: 把用户从组中删除
# 把zgh用户加入newgroup组
[root@instance-tg0skfi7 home]# gpasswd -a zgh newgroup
Adding user zgh to group newgroup
# 查看组信息
[root@instance-tg0skfi7 home]# cat /etc/group
……
newgroup:x:1003:zgh
……
# 把cat用户从组中删除
[root@instance-tg0skfi7 home]# gpasswd -d cat newgroup
Removing user cat from group newgroup