Linux特殊权限和facl
特殊权限
SUID
文件具有SUID权限,则该文件在执行时,使用的不是当前用户的权限启动进程,而是使用文件的属主启动的进程,这样会使进程具有与当前用户不一样的权限,例如passwd命令-rwsr-xr-x. 1 root root 27856 4月 1 2020 /usr/bin/passwd
chmod u+|-s File: 管理某文件具有SUID权限,如果某文件在赋予s权限之前没有执行权限,则权限表现为大S,如果有x权限,则表现为小s
SGID
当某一个目录有SGID权限时,则表示用该用户组作为附加组的所有用户在该目录创建文件时,文件的属组为该附加组,而非用户的基本组,这样可以实现一个组的所有用户都可以在该目录下创建/修改/删除文件
chmod g+|-s File: 管理某目录具有SGID权限,如果某文件在赋予s权限之前属组没有执行权限,则权限表现为大S,如果有x权限,则表现为小s
Sticky
当目录的属组有写权限,那么其他用户在该目录中创建的文件可以被该用户删除,如果要避免这种情况,则需要给目录赋予t权限
chmod o+|-t dir: 用于管理Sticky权限
另一种特殊权限,可以使用
chmod 1777 FILE
管理特殊权限,第一位为suid sgid sticky组成的三位二进制位的十进制表示。
facl
文件的额外赋权机制,在原有的u,g,o之外,另一个层面让普通用户能够控制赋权给另一个用户或者组的赋权机制
查看权限getfacl FILE
赋权:
setfacl -m uMODE FILE
setfacl -m gMODE FILE
撤销:
setfacl -x u:USERNAME FILE…
setfacl -x g:GROUPNAME FILE…
这个机制可以使指定用户或者组对文件具有权限,例如:setfacl -m g
rw test.txt
还没有评论,来说两句吧...