Linux下特殊权限suid和set_gid权限

一、特殊权限suid   针对可执行文件
[root@daixuan ~]# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 25980 2月  22 2012 /usr/bin/passwd  s指赋予使用/usr/bin/passwd命令的人临时root用户权限,则普通用户可以修改自己的密码

rws------ s指具有特殊suid权限,S指具有suid权限但属主不具有x(可执行)权限
对root用户而言,S和s权限没有区别,因为root对Linux所有文件和目录有执行权限。
对普通用户而言,S和s都可以提升权限,但是能不能执行文件,需要看当前用户相对文件是否具有x执行权限。
例:当具有suid权限为大写S时,普通用户daiuxuan相对/bin/ls 是other组,other组没有x权限,则用户代旋不能查看/root目录,如果other组具有x权限,则daixuan用户可以查看/root目录。
[root@daixuan ~]# ls -l /bin/ls
-rwSr-x
r--. 1 root root 112664 10月 15 2014 /bin/ls
[root@daixuan ~]# su daixuan
[daixuan@daixuan root]$ ls /root
bash: /bin/ls: 
权限不够
[daixuan@daixuan root]$ exit
exit
[root@daixuan ~]# chmod o+x /bin/ls
[root@daixuan ~]# ls -l /bin/ls
-rwSr-xr-x. 1 root root 112664 10月 15 2014 /bin/ls
[root@daixuan ~]# su daixuan
[daixuan@daixuan root]$ ls /root   other组用户daixuan对/bin/ls具有x权限,则可以查看/root目录
111   123.txt  1.txt~  anaconda-ks.cfg  Downloads           Music     Templates
1112  12.txt   234     Desktop          install.log         Pictures  test
123   1.txt    abc     Documents        install.log.syslog  Public    Videos

二、set_gid权限
chmod g+s /bin/ls <==>chmod 2755 /bin/ls
set_gid可以作用于目录
普通目录具有gid权限,则普通用户建立该目录的子目录或者子文件具有与父目录相同的属组。
[daixuan@daixuan 222]$ mkdir dir2
[daixuan@daixuan 222]$ touch 22222
[daixuan@daixuan 222]$ ls -al
总用量 16
-rw-rw-r--   1 daixuan daixuan    0 10月 24 16:31 2222
-rw-rw-r--   1 daixuan root       0 10月 24 16:33 22222
drwxrwxr-x   2 daixuan daixuan 4096 10月 24 16:31 dir
drwxrwsr-x   2 daixuan root    4096 10月 24 16:33 dir2

stick_bit   t是针对文件所在的父目录333,阻止其他用户删除属主和属组是自己目录333下的文件12.txt,如果父目录权限drwxrwxrwx,则其他人可以删除并修改12.txt。
chmod 1755 333<==>chmod o+t 333则其他用户组的用户不能删除333下的文件

你可能感兴趣的:(Linux下特殊权限suid和set_gid权限)