passwd是更改用户密码的文件,如果在root下,我们可以直接输入这个命令更改密码 [root@localhost ~]# passwd 更改用户 root 的密码 。 新的 密码: 如果想更改其他用户的密码,则要则要passwd后面加上用户名 [root@localhost ~]# passwd user1 更改用户 user1 的密码 。 新的 密码: 更改完密码我们可以发现在/etc/shadow下,user1这行中出现了一个很长的字符串,这就是我们新更改的密码 [root@localhost ~]# tail -n5 /etc/shadow chrony:!!:17514:::::: user1:$6$0DixvaM8$3Q/d2IFN8jOvyma9By8UZPkRNVLaqDj.AQwOTFaRxiRZ3d.JDv7dHh7QR9fnlUpiQT8ALuQP.461OzckySSLo.:17548:0:99999:7::: user2:!!:17547:0:99999:7::: user8:!!:17547:0:99999:7::: user4:!!:17548:0:99999:7::: 如果没有密码,则是两个!

[root@localhost ~]# head -n5 /etc/shadow root:$6$/qUNx3Dm$oVq/XUaOftBgd4XxzCAAaahh3Za4.O.xJBjol1G0pX0.A0UQjEJFDkkh43F29WZUOMvJ75z/jGfE6bebpgQ1k/:17534:0:99999:7::: bin::17110:0:99999:7::: daemon::17110:0:99999:7::: adm::17110:0:99999:7::: lp::17110:0:99999:7::: 我们还发现,有的用户 的密码位是*号,这表示这个用户的密码是被锁定的,不能登录,他的密码是有问题的。

passwd -l这个命令是可以锁定用户的,usermod -L也可以锁定用户,如果想解锁,命令是passwd -u,usermod -U。

我们也可以给用户设定密码,passwd --stdin 比如我们现在要给user2设定密码 [root@localhost ~]# passwd --stdin user2 更改用户 user2 的密码 。 19860127 passwd:所有的身份验证令牌已经成功更新。 这时我们发现只要输入一次就可以,不用验证,而且是直接显示,这会在以后shall脚本中使用。比如,echo “111222”| passwd --stdin user2

这里讲一个echo的参数,-e这时一个换行参数。

mkpasswd这是用来生成密码的工具,首先我们来安装这个工具包 [root@localhost ~]# yum install -y expect 然后输入命令,就可以产生一个随机的密码 [root@localhost ~]# mkpasswd |br34BMxo 我们也可以自定义它的长度和密码内的字符结构(包括特殊符号,数字等) mkpasswd -l设置密码长度,mkpasswd -s设置特殊符号,两者可以一起用 [root@localhost ~]# mkpasswd -l 10 -s 4 H:7a',?4zJ 通常我们写脚本的时候会用到这个,比如我们要创建100个用户,生成100个密码,而且密码不能相同。然后存到一个文本文档中。就会用到这个命令。