Linux suid功能

suid

1.用户对应的前三位的x位上如果有s就表示,suid。当x位上没有x的时候,suid不是S。

2.setuid位是让普通用户可以以root(或其他)用户的角色运行只有root(或其他)帐号才能运行的程序或命令,或程序命令对应本来没有权限操作的文件等。(注意和su及sudo的区别)。

3.仅对二进制命令或程序有效,不能用在shell等类似脚本文件上(因为shell脚本仅仅是调用二进制命令程序而已,因此,具体权限还需要看二进制命令本身)。

4.二进制命令或程序需要有可执行权限x。

5.suid权限仅在程序执行过程中有效。

6.执行程序的做任意用户可以获得该命令程序在执行期间对应的拥有者的所有权限。


如何查找suid的命令

[root@w zdw]# ls -l `which passwd`
-rwsr-xr-x. 1 root root 30768 Feb 22  2012 /usr/bin/passwd
[root@w ~]# find /usr/bin -type f -perm 4755
/usr/bin/chage
/usr/bin/crontab
/usr/bin/gpasswd
/usr/bin/newgrp
/usr/bin/passwd
[root@w ~]# find /usr/bin -type f -perm 4755 -exec ls -l {} \;
-rwsr-xr-x. 1 root root 66352 Dec  8  2011 /usr/bin/chage
-rwsr-xr-x. 1 root root 51784 Nov 23  2013 /usr/bin/crontab
-rwsr-xr-x. 1 root root 71480 Dec  8  2011 /usr/bin/gpasswd
-rwsr-xr-x. 1 root root 36144 Dec  8  2011 /usr/bin/newgrp
-rwsr-xr-x. 1 root root 30768 Feb 22  2012 /usr/bin/passwd


学习自:老男孩

你可能感兴趣的:(SUID)