![如何确保只有管理员可以更改密码](https://linux22.com/image/994938/%E5%A6%82%E4%BD%95%E7%A1%AE%E4%BF%9D%E5%8F%AA%E6%9C%89%E7%AE%A1%E7%90%86%E5%91%98%E5%8F%AF%E4%BB%A5%E6%9B%B4%E6%94%B9%E5%AF%86%E7%A0%81.png)
如何确保非管理员用户无法更改自己的密码?我只希望管理员可以这样做。
答案1
您可以从二进制文件中删除 SETUID 位passwd
:
sudo chmod u-s /usr/bin/passwd
尽管我们不推荐这样做。
该/usr/bin/passwd
二进制文件是 SETUID 可执行文件,所有者为root
,因此当passwd
被任何人执行时,它都以 的身份运行(因此可以对、文件root
进行必要的更改)。通过删除 SETUID 位,我们删除了此功能。/etc/passwd
/etc/shadow