特殊权限suid,sgid,sbit

1.SUID---->SetUID【对目录无效,只针对文件有效

SUID的功能?----->让对命令有执行权限的普通用户在执行命令时临时拥有该命令所属主的所有权限(相当于命令的属主去执行这个命令)

suid的限制:

  1.执行者的要执行的程序必须有x权限(可执行),若没有x,设置suid之后为S

  2.本权限仅在执行程序的过程中有效(临时)

  3.suid权限仅对二进制程序有效

  4执行者具有程序所有者的所有权限

以rm命令为例熟悉suid:

[root@learning test]# ls -ld /tmp/test
drwx--xr-x. 2 root test2 4096 Apr 22 04:11 /tmp/test
[root@learning test]# ll /tmp/test
total 0
-rw-r--r--. 1 root root 0 Apr 18 06:33 test1.txt
-rw-r--r--. 1 root root 0 Apr 18 06:33 test2.txt
-rw-r--r--. 1 root root 0 Apr 18 06:33 test3.txt
-rw-r--r--. 1 root root 0 Apr 18 06:33 test4.txt

[root@learning test]# su - oldboy
[oldboy@learning ~]$ rm -f /tmp/test/test1.txt
rm: 无法删除"/tmp/test/test1.txt": 权限不够

以上,用户oldboy无法删除test中的文件,增加suid之后...拥有了rm的属主(--->root)的权限,而root拥有能够删除test1.txt的权限

[root@learning test]# chmod u+s /bin/rm
[root@learning test]# ls -ld !$
ls -ld /bin/rm
-rwsr-xr-x. 1 root root 53592 May 11  2016 /bin/rm
[root@learning test]# su - oldboy
[oldboy@learning ~]$ rm -f /tmp/test/test1.txt
[oldboy@learning ~]$ ls -l /tmp/test
总用量 0
-rw-r--r--. 1 root root 0 4月  18 06:33 test2.txt
-rw-r--r--. 1 root root 0 4月  18 06:33 test3.txt
-rw-r--r--. 1 root root 0 4月  18 06:33 test4.txt

2.SGID--->SetGID【对文件和目录都有效

对于文件:

  1.sgid只对二进制文件有效

  2.执行者必须对二进制程序有x权限,若没有x,设置sgid之后为S

  3.执行程序的任意用户可以获得该命令执行期间所属用户组的所有权限

如下:

[root@learning test]# ll -d /tmp/test
drwxr-x--x. 2 root root 4096 Apr 22 22:29 /tmp/test
[root@learning ~]# su - oldboy
[oldboy@learning ~]$ ls /tmp/test
ls: 无法打开目录/tmp/test: 权限不够
                           |
                           |
                           V

[root@learning test]# chmod g+s /bin/ls
[root@learning test]# ll /bin/ls
-rwxr-sr-x. 1 root root 109208 May 11  2016 /bin/ls
[root@learning ~]# su - oldboy
[oldboy@learning ~]$ ls /tmp/test
test2.txt  test3.txt  test4.txt

对于目录:设置了sgid后,用户在此目录下创建的文件和目录,具有和此目录相同的用户组设置

前:
[root@learning test]# groupadd adminuser [root@learning test]# chown .adminuser
/tmp/test [root@learning test]# ll -d /tmp/test drwxrwxrwx. 2 root adminuser 4096 Apr 23 00:25 /tmp/test [root@learning test]# touch lala [root@learning test]# ll lala -rw-r--r--. 1 root root 0 Apr 23 00:26 lala 后: [root@learning test]# chmod g+s /tmp/test [root@learning test]# ll -d /tmp/test drwxrwsrwx. 2 root adminuser 4096 Apr 23 00:26 /tmp/test [root@learning test]# touch la [root@learning test]# ll /tmp/test/la -rw-r--r--. 1 root adminuser 0 Apr 23 00:27 la

注意:  

    1.SUID的优先级比SGID高

    2.针对suid跟sgid,在工作中尽量不要用,多用sudo管理,如果有可能查找系统中无用的suid位的命令等进行撤除

3.粘滞位sbit--->Sticky Bit(只对目录有效):t

功能:设置了粘滞位的目录,目录中的文件/目录只有属主跟root才有权限修改/删除(/tmp是典型的粘滞位目录)

特点:当目录对其他用户设置的权限为rwx时,谁都有写的权限,虽然是自己管理自己,但是有安全问题,是木马的第一跳板地点

***除了字符类型设置之外,还有数字类型:suid=4,sgid=2,sbit=1,比如chmod 4755 /tmp/test.txt等

猜你喜欢

转载自www.cnblogs.com/xqr2018/p/8907158.html