
基本上,我决定更改我用于工作的运行 CentOS 7 的 VM 上的密码。几乎在每种情况下都输入新密码(用户运行passwd
自己,用户 sudos passwd,sudo su
然后passwd
以 root 身份运行,sudo su
然后passwd
以用户身份运行)结束在一个
authentication token manipulation error
运行passwd -u
返回
Error replacing /etc/shadow: Operation not permitted.
基本上,任何与之交互的命令/etc/shadow
都无法与其交互,直到我屈服并更改了 的权限/etc/shadow
,此时一切都完美运行。
以下是相关权限和所有权
ls -ld /etc /etc/shadow /bin/passwd /sbin/unix_chkpwd
-r-s--x--x. 1 root root 27856 Apr 1 06:57 /bin/passwd
drwxr-xr-x. 104 root root 8192 Aug 18 22:08 /etc
-rw-r-----. 1 root root 828 Aug 18 12:59 /etc/shadow
-rwsr-xr-x. 1 root root 36272 Apr 1 07:00 /sbin/unix_chkpwd
请记住/etc/shadow
的权限是我手动更改的。
互联网上的人们都在说你永远不应该更改/etc/shadow
CentOS 7 上开箱即用的 000 权限,并且像这样的程序passwd
不需要这些权限来处理文件,但在我的情况下这根本不是真的。
为什么?