我注意到普通用户可以在没有 sudo 的情况下更改自己的密码。但据我所知,更改密码必须编写只能由 root 访问的 /etc/shadow 文件。
怎么会这样??
在passwd已安装的程序setuid root的:
$ ls -l `which passwd`
-rwsr-xr-x 1 root root 41284 Sep 12 2012 /usr/bin/passwd
Run Code Online (Sandbox Code Playgroud)
注意s第四个位置。这是一个可以在文件权限中设置的标志,它告诉 Linux 在运行时假定拥有可执行文件的用户的权限 - 在这种情况下,root。
| 归档时间: |
|
| 查看次数: |
12077 次 |
| 最近记录: |