Linux基础——特殊权限

特殊权限
SUID        SGID        Sticky

SUID:主要用于操作执行权限,当用户运行某个程序时(即执行权限),如果该程序具有SUID,则该程序在运行时使用属主的权限,与发起执行的用户无关。
     例如:
         /etc/shadow文件,其权限为000,即 --------- root root /etc/shadow
         /bin/cat为可执行文件,其权限为755,即rwxr-xr-x root root /bin/cat
         其他用户在执行/bin/cat /etc/shadow时会提示权限不够,无法执行
         但是当给/bin/cat 赋予SUID之后,其他用户也可以执行上述操作
         显示提示:显示在属主的执行权限位上,如果原本有x,则显示为小写s,否则为大写S
         chmod u+|- s FILE
                    
SGID:主要用于管理目录,当一个目录具有写权限时,且有SGID之后,只要属于该组的用户在该目录内新建文件时,文件的属组为目录的属组,非用户主组
    例如:
        一个目录的权限为rwxrwx---  user1:user3  /tmp/test
        当一个用户(user2,其主组为user2,附加组为user3)在此目录下创建文件时,生成的文件属组为user2
        一个目录的权限为rwxrws---  user1:user3  /tmp/test
        当一个用户(user2,其主组为user2,附加组为user3)在此目录下创建文件时,生成的文件属组为user3                                
        当不同用户创建的文件属组都相同,因此不同用户对所有文件都有修改删除等的权限
        显示提示:显示在属组的执行权限位上,如果原本有x,则显示为小写s,否则为大写S
        chmod g+|-s FILE
                                
Sticky:    一般和SGID一同使用,当一个目录具有Sticky之后,不同用户创建的文件,其他用户没有删除权限                                
        显示提示:显示在其他人的执行权限位上,如果原本有x,则显示为小写t,否则为大写T                                
        chmod o+|-t    FILE
                                        
注意:SGID和Sticky权限的主要用法类似于代码管理,不同的用户都可以创建并修改自己的文件,但是其他人的文件不能动    
使用场景:
    1.代码管理,所有用户均有自己的用户名和主组(user01:user01/user02:user02/user03:user03);
    2.添加所有用户的附加组为统一的管理组mygrp;
    3.创建一个目录,其属组为mygrp(mkdir /home/test,chmod g+w /home/test,chown :mygrp /home/test)
    4.修改目录权限+g,+t
    5.使用不同用户在次目录下创建文件,所创建的文件的属主为该用户,属组全部的都为mygrp,且不同用户不能删除其他用户的文件
                                        
注意:SGID和Sticky权限的主要用法类似于代码管理,不同的用户都可以创建并修改自己的文件,但是其他人的文件不能动   

也可以使用八进制表示法对权限进行修改,如chmod 1777 /tmp/file

                                                 

SUID

SGID

STICKY

八进制表示

0

0

0

0

0

0

1

1

0

1

0

2

0

1

1

3

1

0

0

4

1

0

1

5

1

1

0

6

1

1

1

7

posted @ 2019-09-09 12:10  super2279  阅读(234)  评论(0)    收藏  举报