chpasswd 和 passwd 不为 root 用户更新 /etc/shadow

chpasswd 和 passwd 不为 root 用户更新 /etc/shadow

我遇到了一个奇怪的问题,我不知道是不是我搞砸了什么,或者是它本来应该是这样的,但我从来没有注意到。

使用 passwd 和 chpasswd 更改用户密码可以按预期工作,/etc/passwd 被忽略并且 /etc/shadow 被更新。

使用 passwd 和 chpasswd 来更改 root 用户密码会产生相反的效果;/etc/passwd 会被更新,而 /etc/shadow 会被忽略。

我检查了 /etc/shadow 的权限,它是 0644,与 /etc/passwd 相同。

这是一个 CentOS 5.9 系统,最近几个月更新过,yum update shadow-utils 显示没有更新,而 rpm -q shadow-utils 显示 shadow-utils-4.0.17-21.el5。

到底他妈发生了什么?

答案1

您可以尝试以下方法Rahul Patil 的另一个回答,它对我有用。

我使用的是 echo "root:" | chpasswd

更新 /etc/shadow 第二个字段中的加密密码

shadow 中的其他字段是受命令影响的字段查格

这是影子人,但看到与该文件相关的主要命令是 chage,因此尝试首先对 shadow 中不是用户和加密密码的其他字段使用 chage

相关内容