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个密码,而且密码不能相同。然后存到一个文本文档中。就会用到这个命令。
转载于:https://blog.51cto.com/13067688/2069620