Linux 文件中的特殊权限介绍

2025-08-21 18:55:28
丁国栋
原创 15
摘要:本文记录和整理 Linux 文件系统的权限方面的知识。

Linux 文件中的特殊权限介绍

粘滞位(Sticky Bit)

在 Linux 文件权限中,drwx-wx--T 的最后一个字符 T 代表 粘滞位(Sticky Bit),但它的表现形式比较特殊,需要结合上下文理解。

z@web:~$ ls -al /tmp
total 7200236
drwxrwxrwt 14 root root      20480 Aug 21 11:17 .

z@web:~$ sudo ls -al /var/spool/cron/crontabs/
total 20
drwx-wx--T 2 root crontab 4096 Aug 20 10:43 .
drwxr-xr-x 5 root root    4096 Aug  6  2019 ..
-rw------- 1 root crontab 1561 Aug 20 10:43 root
-rw------- 1 z    crontab 6342 Mar 24 16:22 z
z@web:~$

T 的含义

  • 大写 T:表示该目录设置了粘滞位(Sticky Bit),但其他用户(Others)没有执行(x)权限
    • 如果目录有执行权限(x),粘滞位会显示为小写 t(如 drwx-wx--t)。
    • 如果目录没有执行权限,粘滞位会显示为大写 T(如 drwx-wx--T)。

粘滞位(Sticky Bit)的作用

  1. 用于目录:粘滞位通常设置在共享目录(如 /tmp/var/tmp)。
  2. 权限限制:即使目录对所有用户可写(w),但只有文件所有者目录所有者root 才能删除或重命名其中的文件。
    • 例如:/tmp 的权限通常是 drwxrwxrwt,所有用户都可以创建文件,但只能删除自己的文件。

你的权限示例解析

drwx-wx--T 的完整含义:

  • d:这是一个目录。
  • rwx:所有者(Owner)有读、写、执行权限。
  • -wx:所属组(Group)有写、执行权限,但没有读权限。
  • --T:其他用户(Others)没有读、写、执行权限,但设置了粘滞位(由于没有 x,所以显示 T)。

如何设置/移除粘滞位?

  • 设置粘滞位

    chmod +t /path/to/directory

    或(数字形式):

    chmod 1777 /path/to/directory  # 类似 /tmp 的权限
  • 移除粘滞位

    chmod -t /path/to/directory

总结

  • T = 粘滞位生效,但目录对其他用户不可执行(x
  • t = 粘滞位生效,且目录对其他用户可执行(x
  • 粘滞位常用于共享目录,防止普通用户删除他人文件。


发表评论
博客分类