ssh*_*980 3 permissions files shadow
我正在使用 Red Hat Enterprise Linux,以下是详细信息:
uname -a
3.10.0-327.22.2.e17.x86_64
Run Code Online (Sandbox Code Playgroud)
当我检查影子文件的权限时,我看到以下内容:
ls -l /etc/shadow
----------. 1 root root 1467 /etc/shadow
Run Code Online (Sandbox Code Playgroud)
看到这些权限我很惊讶。我认为“passwd”至少需要所有者的读/写权限才能更新此文件。知道这里发生了什么吗?
这是正常的。
passwd
不需要读/写权限,因为它设置了 suid 位,以 root 身份运行。
# ls -l /etc/shadow /usr/bin/passwd
---------- 1 root root 798 Jul 21 21:15 /etc/shadow
-rwsr-xr-x 1 root root 26688 Sep 10 2015 /usr/bin/passwd
#
Run Code Online (Sandbox Code Playgroud)
Stackexchange 上的更多信息“'passwd' 命令如何获得 root 用户权限?” 如果你想要的话。