usermod命令
usermod是用来更改用户信息的一个命令
-u:用来更改用户//usermod -u UID 用户名-g:用来更改用户组//usermod -g GID或者用户组 用户名-d:用来更改家目录//usermod -d 家目录 用户名-s:用来更改用户shell//usermod -s /bin/bash或者/sbin/nologin 用户 ( /bin/bash表示:能登录的,/sbin/nologin表示:不能登录的)-G:添加扩展组//usermod -G 指定用户组 用户名 (操作玩可以使用id命令来查看该用户的属性)(如果需要多个添加多个扩展组,直接用户组后再加)
用户密码管理
更改密码使用passwd命令
passwd root //更改root用户密码
passwd hch // 更改普通用户密码
使用tail查看存放的用户密码文件
[root@localhost ~]# tail /etc/shadow
hch:!!:17527:0:99999:7:::
第二列显示星号,则表示密码是被锁定的,锁定的密码同样不能登录。
需要锁定用户的时候我们可以使用passwd -l命令来锁定
[root@localhost ~]# passwd -l hch
锁定用户 hch 的密码 。
passwd: 操作成功
[root@localhost ~]# tail /etc/shadow
hch:!!:17527:0:99999:7:::
上面我们可以密码字符串前面我们可以看到有两个感叹号即表明已经锁定成功,如果我们需要给它解锁,则passwd -u命令来解锁
锁定用户密码的命令还有usermod也可以操作,usermod命令加上-L或者-U即可用来锁定用户密码或者解锁。
使用passwd命令来修改密码,还有一个参数我们会使用到:passwd --stdin ,用这个命令来更改命令,是以可视的形态更改密码的,示例:
[root@localhost ~]# passwd --stdin hch
更改用户 hch 的密码 。
123456
passwd:所有的身份验证令牌已经成功更新。
与此同时,我们还可以使用管道符来将echo 的结果执行到后面的passwd的命令上,示例
[root@localhost ~]# echo "456321"|passwd --stdin hch
更改用户 hch 的密码 。
passwd:所有的身份验证令牌已经成功更新。
同样的我们还可以这样修改密码,示例
[root@localhost ~]# echo -e "456987\n456987"|passwd hch
更改用户 hch 的密码 。
新的 密码:无效的密码: 密码少于 8 个字符
重新输入新的 密码:passwd:所有的身份验证令牌已经成功更新。
上例中,n456987,相当于你使用passwd修改密码时,系统要你新建一个密码紧接着再重新输入一次密码来确认 ,这里我们加了n456987,这样操作就相当于再重新输入一次密码的操作。
mkpasswd命令
安装mkpasswd命令包:
yum install -y expect
生成不规则字符串:mkpasswd
[root@localhost ~]# mkpasswd
y1yd9BNz/
默认:大小写字母,特殊符号,数字 9位的密码
指定密码共生成几位字符串: mkpasswd -l 指定数字
[root@localhost ~]# mkpasswd -l 12
5?smnPjcLyg6
指定密码包含几个特殊符号: mkpasswd -l 指定数字 -s 指定数字
[root@localhost ~]# mkpasswd -l 12 -s 3
eGozm$6!;oN1