SUID
当s
这个标志出现在文件所有者的x权限上时,例如文件权限状态-rwsr-xr-x
,此时就称为 Set UID
,简称为SUID
的特殊权限。
SUID有这样的限制和功能:
- SUID权限仅对二进制程序有效;
- 执行者对于该程序需要具有x的可执行权限;
- 本权限仅在执行该程序的过程中有效;
- 执行者将具有该程序所有者的权限。
- 该权限仅仅作用(有效)于可执行的二进制文件(非目录)上
SGID
当s
这个标志出现在文件所属组的x
权限上时,例如文件权限状态-rwxr-sr-x
,此时就称为Set GID
,简称为SGID
的特殊权限。
SGID有这样的限制和功能:
- SGID对二进制程序有用;
- 程序执行者对该程序需具备x权限;
- 执行者在执行过程中会获得该程序用户组的支持。执行者在执行过程中会获得该程序用户组的支持。
除二进制程序外,SGID
也可以用目录上。当一个目录设置了SGID
权限后,它具有如下功能:
4. 用户若对此目录具有r
和x
权限,该用户能够进入该目录;
5. 用户在此目录下的有效用户组将变成该目录的用户组;
6. 若用户在此目录下拥有w
权限,则用户所创建的新文件的用户组与该目录的用户组相同。
SBIT
SBIT目前只对目录有效。
SBIT对目录的作用是:
- 当用户对此目录具有
w
和x
权限时,即具有写入权限时; - 当用户在该目录下创建新文件或目录时,仅有自己和root才有权力删除。
SUID\SGID\SBIT权限设置
先将其转换成数字:
- SUID->4
- SGID->2
- SBIT->1
假设要将一个文件权限修改为-rwsr-xr-x
,由于s
在用户权限中,所以是SUID,因此,原先的755
前面还要加上4
,也就是4755
,所以,用命令chmod 4755 filename
设置就可以了。此外,还可能出现S
和T
的情况。我们知道,s
和t
是替代x
这个权限的,但是,如果它本身没有x
这个权限,修改为s
或t
时就会变成大S
或大T
,例如:执行chmod 7666 filename
。 因为666
表示-rw-rw-rw
,均没有x
权限,所以最后变成-rwSrwSrwT
。
本文仅仅是为了帮自己做一个熟悉的笔记,具体内容请参考其他书籍
原文:https://blog.csdn.net/sinat_30071459/article/details/51206581