特殊权限: SUID,SGID,STICKY

安全上下文:

  1、进程以某用户的身份运行;进程是发起此进程用户的代理,因此以此用户的身份和权限完成所有操作;

  2、权限匹配:

   (1)判断进程的属主,是否为被访问的文件属主;如果是,则应用属主的权限;否则进入第2吧

   (2)判断进程的属主,是否属于被访问的文件数组;如果是,则应用数组的权限;否则进入第3不

   (3)应用other的权限


SUID:

  默认情况下:用户发起的进程,进程的属主是其发起者;因此,其以发起者的身份在运行;

  SUID的功能:用户运行某个程序时,如果程序拥有SUID权限,那么程序运行成为进程时,进程的属主不是发起者而是程序文件自己的属主;

管理文件的SUID权限:

    chmod u+|- s file

展示位置:属主的执行权限

如果属主原版本有执行权限,显示为小写;否则,显示为大写S


SGID:

功能:当目录属组设置了该权限时,那么所有属于此目录的属组且以属组身份在此目录中新建文件或者目录时,新文件的属组不是用户的基本组而是此目录的属组

展示位置:属组的执行权限位

如果属组原版本有执行权限,显示为小写;否则,显示为大写S

管理文件的SGID权限:

chmod g+|- s file


STICKY:

功能:对于属组或者全局可写的目录,组内的所有用户或者系统上的所有用户对在此目录中都能创建新文件或者删除所有的己有文件,如果为此类目录设置sticky权限,则每个用户能创建新文件,且只能删除自己的文件

设置方式:chmod o+t

展示位置:其他用户的执行权限位

  如果其他用户原本有执行权限,显示为小写t,否则为大写T

系统上的/tmp和/var/tmp目录默认均有sticky权限;


系统特殊权限的另外一种方式:

suid sgid sticy  八进制权限

  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

facl:file access control lists


文件的额外赋权机制:

 在原来的u、g、o之外,另一层让普通用户能控制赋权给另外的用户或组的赋权机制:

getfacl命令:

 getfacl FILE...

 user:USERNAME:MODE

 group:GROUPNAME:MODE


setfacl命令:

  setfacl -m u:USERNAME:MODE FILE...

  setfacl -m g:GROUPNAME:MODE FILE...

撤销赋权:

   setfacl -x u:USERNAME FILE

   setfacl -x g:GROUPNAME FILE


setfacl -m g:mygrp:rw test.centos