Linux特殊权限详解

Linux的特殊权限分为三个:

    1,SUID(位于属主权限中的执行权限位):SUID可以使得我们在运行某程序时,相应进程的属主是程序自身的属主,而不是启动者

        添加SUID权限的格式:

        ->chmod u+s file(如果该文件的属主权限中原来就有执行权限,则SUID显示为小写s,否则显示为大写S)

        Linux特殊权限

        Linux特殊权限

        取消SUID权限的格式:

        ->chmod u-s file

        Linux特殊权限

        我们在某些特殊的情况下,需要某些用户以root或其他用户的身份去执行某些可执行文件,此时就需要SUID权限

    2,SGID(位于属组权限中的执行权限位):SGID使得我们在运行某程序时,相应进程的属组是程序自身的属组,而不是启动者的基本组

        添加SGID权限的格式:

        ->chmod g+s directory

         如果该目录的基本组原来就有执行权限,则SGID显示为小写s,否则显示为大写S)

         Linux特殊权限

        取消SGID权限的格式:

        ->chmod g-s directory

          Linux特殊权限

        SGID的功能总结来其实就是使得用户在目录中创建的文件的属组自动归属为目录的属组,而不再是创建文件的用户的基本组

        Linux特殊权限

    3,Sticky冒险位(位于其他用户权限中的执行权限位):冒险位表示在一个公共目录,每个人都可以创建文件并且删除自己创建的文件,但是不可以删除别人创建的文件

        添加Sticky冒险位的格式:

        ->chmod o+t directory(如果该目录的基本组原来就有执行权限,则显示为小写t,否则显示为大写T)

        Linux特殊权限

        取消Sticky冒险位

        ->chmod o-t directory

        Linux特殊权限

        Sticky冒险位的功能总结起来就是,在同一个目录下的所有用户都不能删除除了自己之外的其他用户创建的文件,而只能删除自己创建的文件

    Linux特殊权限

      特殊权限位sst,和普通权限位rwx一样,每一位所代表的数值,也是由三位二进制数组成的

        000:0->表示没有特殊权限

        001:1->表示有Sticky权限

        010:2->表示有SGID权限

        011:3->表示有SGID和Sticky权限

        100:4->表示有SUID权限

        101:5->表示有SUID和Sticky权限

        110:6->表示有SUID和SGID权限

        111:7->表示有SUID、SGID和Sticky权限


    比如,如果一条命令如此显示

        chmod 2755 directory

    则表示,该目录有特殊权限,且权限为SGID

    Linux特殊权限