0
点赞
收藏
分享

微信扫一扫

echo结合chpasswd -e修改系统密码遇到的坑

因多台linux需要批量修改密码,又不想密码明文保存在history里,网上看到一个贴子,可以使用openssl生成密文密码,然后结合chpasswd -e设置密码。

试了一下,结果悲催了。

首先生成密文密码

[root@localhost ~]# openssl passwd -1

Password:  

Verifying - Password:  

$1$hH4zNPU8$ypQVL.BrtFXJlpNWMVnRQ/

然后使用echo结合chpasswd -e 修改密码

[root@localhost ~]echo 'root:$1$gRaFjZHg$/CamLI.QiekK01So21SBz1'|chpasswd -e

执行完后再ssh登陆发现密码错误。

幸好我另一个ssh会话没关,登陆上,查看shadow文件

发现shadow文件被截断了,正常应该是root:$1$gRaFjZHg$/CamLI.QiekK01So21SBz1:19132:0:99999:7:::

实际上是root:$/CamLI.QiekK01So21SBz1:19132:0:99999:7:::

怀疑是echo在执行命令时把$1 $/之类的都给当做参数给解释了,所以用echo 结合chpasswd修改密码是不靠谱的!!!!容易把用户密码改错导致用户登陆不上。


举报

相关推荐

0 条评论