本文共 1443 字,大约阅读时间需要 4 分钟。
在Unix/Linux系统中,文件和目录的权限设置中有一些特殊权限可以帮助管理员管理系统权限。这些特殊权限包括SetUID(SUID)、SetGID(SGID)和Sticky BIT(SBIT)。这些权限可以帮助系统更好地管理权限分配,提高安全性。
SetUID权限允许一个可执行的二进制程序暂时获得其文件所有者的身份。以下是SetUID的主要特点:
示例:普通用户执行`passwd`命令时,会临时获得root用户的权限来修改密码。
如何设置SetUID权限:
- 使用`chmod 4755 文件名`:4代表SUID,7代表读、写、执行权限,5代表其他用户不可修改。- 或者`chmod u+s 文件名`:直接设置所有者为SetUID。如何取消SetUID权限:
- 使用`chmod 755 文件名`:移除SUID权限。- 或者`chmod u-s 文件名`:移除所有者的SetUID权限。注意事项:
- SetUID权限只能在程序执行时生效,程序结束后身份会恢复。- 不能随意给非可执行文件设置SetUID权限,否则可能导致安全问题。SetGID权限允许可执行程序或目录在执行时获得指定组的临时身份。与SetUID类似,但SetGID的应用场景更广泛。
SetGID对文件和目录都有特殊功能:
文件:
目录:
如何设置SetGID权限:
- 使用`chmod 2755 文件名`:2代表SGID,7代表读、写、执行权限,5代表其他用户不可修改。- 或者`chmod g+s 文件名`:直接设置组为SetGID。如何取消SetGID权限:
- 使用`chmod 755 文件名`:移除SGID权限。- 或者`chmod g-s 文件名`:移除组的SetGID权限。Sticky BIT(粘性位)是一种目录权限设置,用于控制用户对目录的操作权限。主要作用是限制普通用户对目录的操作权限。
Sticky BIT的特点:
- 只适用于目录。- 普通用户对目录有写入权限时,必须满足以下条件才能删除目录中的文件: - 目录有Sticky BIT权限。 - 用户对目录有写入权限。 - 用户是目录的所有者。- 否则,普通用户只能删除自己创建的文件,不得删除其他用户创建的文件。如何设置Sticky BIT权限:
- 使用`chmod 1777 目录名`:7代表Sticky BIT权限。- 或者`chmod o+t 目录名`:直接设置其他用户的粘性位为可执行。如何取消Sticky BIT权限:
- 使用`chmod 777 目录名`:移除Sticky BIT权限。- 或者`chmod o-t 目录名`:移除其他用户的粘性位权限。转载地址:http://sckfk.baihongyu.com/