
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 目录名`:移除其他用户的粘性位权限。发表评论
最新留言
表示我来过!
[***.240.166.169]2025年04月29日 01时23分06秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
LInux系统两套管理网络连接的方案interfaces和Network-Manager
2023-02-05
linux系统中 修改oracle数据库字符集问题
2023-02-05
Linux系统中/etc/init.d和/etc/rc.d/rc.local的区别
2023-02-05
Linux系统中cgroup介绍
2023-02-05
linux系统中chmod用法详解
2023-02-05
Linux系统中sh脚本编写
2023-02-05
Linux系统中使用 DD 命令测试 USB 和 SSD 硬盘的读写速度
2023-02-05
linux系统中如何写线程,Linux下如何写可重启的多线程子系统
2023-02-05
Linux系统中安装Git(详细教程)
2023-02-05
Linux系统中安装Maven
2023-02-05
Linux系统中有关/dev/null和/dev/zero文件说明及实践
2023-02-05
Linux系统中的日志文件(非常详细)零基础入门到精通,收藏这一篇就够了
2023-02-05
Linux系统中的系统盘和数据盘是什么意思?
2023-02-05
Linux系统中的默认安装目录 - 不能随意更改名字
2023-02-05
Linux系统中进程运行时间的五大精准检测法
2023-02-05
Linux系统中,shell脚本的异步执行
2023-02-05
Linux系统之软件管理:Ubuntu彻底删除软件及配置文件
2023-02-05
Linux系统信息查看命令
2023-02-05
Linux系统具体硬件型号查看与系统故障定位分析
2023-02-05