在Linux系统(包括Ubuntu)中,除了常见的读(r)、写(w)、执行(x)权限外,还有三种特殊的权限位:SUID、SGID 和 Sticky Bit。这些权限虽然不常被普通用户接触,但在系统管理和安全控制中起着至关重要的作用。本文将用通俗易懂的方式,带你全面了解这三种Ubuntu特殊权限。
SUID(Set User ID)是一种特殊权限,当它被设置在可执行文件上时,任何用户运行该文件时,都会以文件所有者的身份执行,而不是以运行者的身份。
最经典的例子是 /usr/bin/passwd 命令。普通用户没有权限直接修改 /etc/shadow 文件,但通过 passwd 命令却可以修改自己的密码——这是因为 passwd 被设置了 SUID 权限,运行时会临时获得 root 权限。
使用 ls -l 查看文件权限时,如果属主的执行位(x)被替换为 s,说明设置了 SUID:
-rwsr-xr-x 1 root root 63744 Jan 10 2023 /usr/bin/passwd
设置 SUID 的方法有两种:
# 方法1:符号模式chmod u+s filename# 方法2:数字模式(在权限前加4)chmod 4755 filename
SGID(Set Group ID)有两种应用场景:
例如,一个团队共享的项目目录,希望所有成员创建的文件都属于同一个组,就可以使用 SGID。
在 ls -l 输出中,如果属组的执行位显示为 s,说明设置了 SGID:
drwxrwsr-x 2 user devgroup 4096 Jun 10 10:00 shared_project/
设置 SGID 的命令:
# 符号模式chmod g+s directory_or_file# 数字模式(在权限前加2)chmod 2775 shared_project/
Sticky Bit 最初用于程序缓存,如今主要用于公共可写目录 最典型的例子是 注意最后一位是 这三种特殊权限可以组合使用。例如: 但请注意: 掌握 SUID权限、SGID权限 和 Sticky Bit权限 是理解 Linux/Ubuntu 系统安全机制的重要一步。合理使用这些特殊权限,可以在保证功能的同时提升系统安全性。 记住:权限是把双刃剑,用得好是盾牌,用不好就是漏洞。希望这篇关于 Ubuntu特殊权限 的教程能帮助你打下坚实基础!/tmp 目录:drwxrwxrwt 10 root root 4096 Jun 10 11:00 /tmp
t(如果原本有执行权限)或 T(无执行权限),这就是 Sticky Bit 的标志。如何设置Sticky Bit?
# 符号模式chmod o+t directory# 数字模式(在权限前加1)chmod 1777 /tmp
四、权限组合与注意事项
chmod 7644 filename # SUID + SGID + Sticky Bit(虽然不常见)
总结
本文由主机测评网于2025-12-06发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025123889.html