Linux s位设置

[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文件。

你可能感兴趣的:(Linux s位设置)