高级文件权限

17 Mar 2025 | 阅读 2 分钟

目录上的 Sticky Bit

通过使用 sticky bit 可以保护目录中的文件不被其他非文件所有者删除。它显示在其他用户x 权限的相同位置。

它由一个 t(x 也存在)或一个 T(没有 x)表示。

示例


Linux Advanced File Permission1

请看上面的快照,文件 new1 的权限在其他用户x 权限位置更改为 t

通常,sticky bit 存在于 /tmp 目录上。

Linux Advanced File Permission2

目录上的 setgid Bit

为了确保目录中的所有文件都归目录的组所有者所有,可以使用 setgid。它显示在x 权限的相同位置。它由一个 s(x 也存在)或一个 S(没有 x)表示。

Linux Advanced File Permission3

请看上面的快照,目录 new1 的组所有者已更改为 neww权限已在x 权限位置更改为 s。你可以看到目录 'new1' 中的 file1 的组名为 'neww'


普通文件上的 setgid 和 setuid

借助这两个权限,可执行文件将以文件所有者的权限而不是执行所有者的权限访问。这意味着如果一个程序具有 root 用户权限并且设置了 setuid 权限,那么用户将以 root 身份运行该程序。这可能既危险又对安全性有益。

例如,存储在 /etc/shadow 中的密码仅可由 root 用户读取,如下所示。

Linux Advanced File Permission4

当用户运行 passwd 命令时,它会以 root 凭据执行。


下一主题Linux 文件链接