如果您查看passwd
命令的权限集,您将看到以下内容:
user@apple:~$ ls -l /bin/passwd
-rwsr-xr-x 1 root root 59976 Nov 24 2022 /bin/passwd
/bin/passwd
已设置 SUID 位且其所有者是root
用户。也就是说,运行该命令passwd
意味着以用户的权限运行该命令root
。
既然passwd
已经拥有root
用户权限,为什么当我尝试更改另一个用户的密码时会这样说test
:
user@apple:~$ passwd test
passwd: You may not view or modify password information for test.
运行相同的命令,但sudo
可以让我更改密码。这是为什么?