[oracle@jhoa tmp]$ cd /usr/bin/
[oracle@jhoa bin]$ ls -ltr passwd
-rwsr-xr-x 1 root root 27768 Jul 17 2006 passwd
[oracle@jhoa bin]$ ls -ltr /etc/shadow
-r-------- 1 root root 1329 Jun 26 19:42 /etc/shadow
以oracle用户为例,当mqm用户执行passwd时,会有该文件属主(root)的权限
passwd
[oracle@jhoa bin]$ ls -ltr /etc/shadow
-r-------- 1 root root 1329 Jun 26 19:44 /etc/shadow
此时取得root权限修改了/etc/shadow
这个s位通常都是给可执行的文件设置的。使执行者拥有对文件属主对资源的权限。最明显的例子就是/sbin/passwd。
用户的密码是在/etc/shadow中存放的。普通用户没权限更改,但用户运行/sbin/passwd时为了确保普通用户能够修改自己的密码就更新/etc/shadow。所以对/sbin/passwd设置s位
,
使普通用户在运行/sbin/passwd时拥有root的权限,能够更新/etc/shadow文件。