今天一个以前的同事问我关于以上错误的解决办法,随手记一下。

这是Linux/Unix 修改密码(或单用户模式重置密码)的时候提示的错误,修改失败有很多种原因,以下是权限问题的解决办法:

(1)查看 /etc/passwd  /etc/shadow 的属性

lsattr /etc/passwd /etc/shadow

如果文件带有i属性(不可修改)则会导致修改失败,如下图:

wKiom1fRA53BfjXcAAAxcjlwV0A446.jpg

(2)去掉i属性:

chattr -i /etc/passwd /etc/shadow

然后执行一下 pwconv (此命令没有输出,目的是更新/etc/shadow文件,即用户密码投影)再执行修改密码操作即可。

(3)CentOS系统默认没有设置i属性,猜测是系统管理员为了安全加上去的,加回i属性的方法:

chattr +i /etc/passwd /etc/shadow