我注意到,普通用户无需sudo即可更改自己的密码.但是据我所知,要更改密码,必须编写/ etc / shadow文件,该文件只能由root用户访问.
这是怎么发生的?
解决方法:
已安装setuid root的passwd程序:
$ls -l `which passwd`
-rwsr-xr-x 1 root root 41284 Sep 12 2012 /usr/bin/passwd
注意s在第四位置.这是一个可以在文件权限中设置的标志,该标志告诉Linux在运行该可执行文件时假定拥有该可执行文件的用户(在本例中为root)的特权.