3.4 usermod命令
usermod命令的作用是更改已经存在的用户的相关属性。
- 语法:usermod [选项] [username]
- 选项:
- [ ] -u:更改用户uid
- [ ] -g:更改用户所属组,后面可以跟gid,也可以跟组名。
- [ ] -d:更改用户家目录
- [ ] -s:更改用户shell
命令id:用来查看用户的uid、gid、扩展组信息。
[root@greenfinch ~]# id greenfinch
uid=1000(greenfinch) gid=1000(greenfinch) 组=1000(greenfinch)
[root@greenfinch ~]# id straybird
uid=1001(straybird) gid=1001(straybird) 组=1001(straybird)
[root@greenfinch ~]# id user1
uid=1002(user1) gid=1002(user1) 组=1002(user1)
useradd -G username:创建用户的扩展组。扩展组若为多个,在组与组之间用逗号“,”分隔。
注意:一个用户可以从属于多个组,但gid只有一个。除了gid以外的组,被称为扩展组。
3.5 用户密码管理
- 语法:passwd [选项] [username]
- 选项: 无选项时表示设置某用户密码。
- [ ] -l:锁定某用户密码(= usermod -L)
- [ ] -u:解锁某用户密码(= usermod -U)
- [ ] -d:删除密码,仅有系统管理者才有此权限
说明: 只有root用户才可以更改其他用户密码,普通用户只能更改自己的密码。
passwd有一个特殊权限set_uid,通过这个权限,用户可以更改密码。
- 更改root用户的密码,直接输入命令passwd即可。
- 更改普通用户的密码,命令passwd后面跟上普通用户的用户名。
- 命令passwd -l username,锁定(lock)用户密码。
- 命令passwd -u username,解锁(unlock)用户密码。
- 命令usermod -L 或 -U username,锁定或解锁用户密码。
修改密码后,/etc/shadow文件中,会多出一个加密的字符串。 如果用户没有密码,这个用户会出现两个惊叹号“!”。没有密码的用户是不能登录的。有些用户的密码位置,是一个星号“*”,表示这个用户的密码是被锁定的,不能使用,也不能登录。
-
passwd --stdin username:更改用户的密码
-
echo "111222" |passwd --stdin username,“|”是管道符,表示把前面命令的结果发送给后面的命令。
-
命令echo -e “-e”选项用在一个行命令里,出现一个换行符。
-
e.g 比较下面实验的异同。
[root@greenfinch ~]# echo "123\nsss"
123\nsss
[root@greenfinch ~]# echo -e "123\nsss" && \n:123后面换行,且光标移至行首显示sss
123
sss
[root@greenfinch ~]# echo -e "123\bsss" && \b:删除前一个字符
12sss
[root@greenfinch ~]# echo -e "123\tsss" && \t:在123和sss中插入Tab键
123 sss
echo -e "1234567890\n1234567890" |passwd user3 && 一个命令行修改密码,二次确认写法。
注意:密码建议10位以上。
3.6 mkpasswd命令
命令mkpasswd(make password),用来生成密码的工具。
Linux系统默认安装中没有这个工具,需要单独安装:yum install -y expect
-
语法:mkpasswd [选项]
-
选项:
-
[ ] -l:指定密码长度
-
[ ] -s:指定密码中的特殊符号的个数。个数为0,则表示没有特殊符号。
-
[ ] -d:指定数字个数
e.g:
mkpasswd -l 12,密码长度为12位。
mkpasswd -l 12 -s 3,密码长度为12位,特殊符号的个数为3。
mkpasswd -l 12 -s 0,密码长度为12位,没有特殊符号。