linux文件特殊权限:SetUID、SetGID、Sticky BIT
发布日期:2025-04-09 12:43:26 浏览次数:11 分类:精选文章

本文共 1443 字,大约阅读时间需要 4 分钟。

文件特殊权限

在Unix/Linux系统中,文件和目录的权限设置中有一些特殊权限可以帮助管理员管理系统权限。这些特殊权限包括SetUID(SUID)、SetGID(SGID)和Sticky BIT(SBIT)。这些权限可以帮助系统更好地管理权限分配,提高安全性。

SetUID

SetUID权限允许一个可执行的二进制程序暂时获得其文件所有者的身份。以下是SetUID的主要特点:

  • 仅适用于可执行文件:只有可以被执行的二进制程序(如可执行文件)才能设置SetUID权限。
  • 执行者需具备X权限:执行SetUID程序的用户必须对程序拥有执行(X)权限。
  • 临时身份切换:执行程序时,用户会获得文件所有者的身份,但一旦程序结束,身份会恢复。
  • 常见用途:例如,普通用户执行某个程序时,该程序可以访问root用户的权限。

示例:普通用户执行`passwd`命令时,会临时获得root用户的权限来修改密码。

如何设置SetUID权限:

- 使用`chmod 4755 文件名`:4代表SUID,7代表读、写、执行权限,5代表其他用户不可修改。- 或者`chmod u+s 文件名`:直接设置所有者为SetUID。

如何取消SetUID权限:

- 使用`chmod 755 文件名`:移除SUID权限。- 或者`chmod u-s 文件名`:移除所有者的SetUID权限。

注意事项:

- SetUID权限只能在程序执行时生效,程序结束后身份会恢复。- 不能随意给非可执行文件设置SetUID权限,否则可能导致安全问题。

SetGID

SetGID权限允许可执行程序或目录在执行时获得指定组的临时身份。与SetUID类似,但SetGID的应用场景更广泛。

SetGID对文件和目录都有特殊功能:

  • 文件

    • 仅适用于可执行二进制文件。
    • 执行程序时,用户会获得文件所属组的身份。
    • 类似SetUID,只在程序执行时有效。
  • 目录

    • 允许普通用户进入目录,但需满足一定条件。
    • 普通用户在目录中的组会变为目录所属组。
    • 如果用户对目录有写入权限,新增文件的默认组会是目录所属组。

如何设置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权限。 - 用户对目录有写入权限。 - 用户是目录的所有者。- 否则,普通用户只能删除自己创建的文件,不得删除其他用户创建的文件。

如何设置Sticky BIT权限:

- 使用`chmod 1777 目录名`:7代表Sticky BIT权限。- 或者`chmod o+t 目录名`:直接设置其他用户的粘性位为可执行。

如何取消Sticky BIT权限:

- 使用`chmod 777 目录名`:移除Sticky BIT权限。- 或者`chmod o-t 目录名`:移除其他用户的粘性位权限。
上一篇:LINUX文件目录介绍
下一篇:Linux文件查找命令find,xargs详述【转】

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年04月29日 01时23分06秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章