5

我注意到普通用户可以在没有 sudo 的情况下更改自己的密码。但据我所知,要更改密码必须编写只能由 root 访问的 /etc/shadow 文件。

怎么会这样??

4

2 回答 2

6

passwd安装的setuid root中的程序:

$ ls -l `which passwd`
-rwsr-xr-x 1 root root 41284 Sep 12  2012 /usr/bin/passwd

注意s第四个位置。这是一个可以在文件权限中设置的标志,它告诉 Linux 在运行时承担拥有可执行文件的用户的权限 - 在本例中为 root。

于 2013-10-27T16:22:35.610 回答
-1

用户只需更改密码即可运行

passwd

从linux命令行。

于 2013-10-27T16:25:12.693 回答