我遇到了一个奇怪的问题,我不知道是不是我搞砸了什么,或者是它本来应该是这样的,但我从来没有注意到。
使用 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