为什么 /etc/shadow 权限上的 000 会导致我无法使用 passwd?

为什么 /etc/shadow 权限上的 000 会导致我无法使用 passwd?

基本上,我决定更改我用于工作的运行 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/shadowCentOS 7 上开箱即用的 000 权限,并且像这样的程序passwd不需要这些权限来处理文件,但在我的情况下这根本不是真的。

为什么?

相关内容