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.youkuaiyun.com/sinat_30071459/article/details/51206581
本文详细解析了Linux系统中的SUID、SGID和SBIT三种特殊文件权限,包括它们的功能、限制及如何设置。SUID使执行者在运行程序时拥有程序所有者的权限,SGID在执行过程中赋予执行者程序所属组的权限,而SBIT确保只有文件所有者和root能删除目录中的文件。
527

被折叠的 条评论
为什么被折叠?



