Linux-特殊权限SUID,SGID,SBIT

张开发
2026/4/4 22:20:48 15 分钟阅读

分享文章

Linux-特殊权限SUID,SGID,SBIT
SUIDSet UID当字母s出现在文件拥有这的x权限位上的时候例如/usr/bin/passwd这个文件的权限是[-rwsr-xr-x]此时就被称为Set UID简称为SUID的特殊权限。SUID的权限有以下这样的功能和限制。SUID权限仅对二进制程序(binary program)文件有效执行者对于该程序具有x的可执行权限本权限仅在执行该程序的过程中有效(run-time)执行者将具有该程序拥有者(owner)的权限。需要注意的是SUID是不能用在shell script上面的也不能用在目录上面都是无效的。SGIDSet GID当s标志位在文件群组的x位上的时候被称为Set GID简称为SGID的特殊权限。与SUID不同的是SGID既可以对二进制程序设置也可以对目录进行设置特殊权限。对文件来说SGID有以下这些功能SGID对二进制程序有用程序执行者对程序来说具备x权限执行者在执行的过程中将会获得该程序的群组支持。当目录设置了SGID权限的时候具有以下功能用户若对于此目录具有r和x权限用户能够进入此目录用户在此目录下的有效群组将会变成该目录的群组若用户在此目录下具有w权限则使用者也可以在此目录新建文件而且新文件的群组与此目录的群组相同。SBITSticky Bit目前只针对目录有效对于文件已经没有效果了。SBIT对目录的作用是下面这些当用户对此目录具有w和x权限时使用者同样具有当用户在此目录创建文件时只有自己和root有权限删除该文件。如何配置文件使具有SUID和SGID权限呢数字权限修改方法的三位数字之前添加上对应的数字就好了。4为SUID2为SGID1为SBIT# 例如讲一个原本755权限的文件添加SUID权限执行如下命令 chmod 4755 /test.sh # 添加SGID权限的命令如下 chmod 2755 /test.sh chmod 2755 /test # 给一个目录添加一个SBIT权限 chmod 1755 /test

更多文章