Linux上文件权限中的“t”表示什么?

Linux上文件权限中的“t”表示什么?

当我在目录上运行 ls -l 命令时,我看到文件的以下权限,但我不知道权限中的“t”表示什么?

-r-----rwt 1 bruce bruce 28146 Oct 27 09:48 sample

示例是一个 ELF 二进制文件,我想知道我是否有它的执行权限。

答案1

简而言之:它表示粘性位。对于文件来说,它现在基本上没用了 - 它是旧操作系统的优化提示。对于目录来说,它的含义则截然不同。

小写t表示x,大写T则不表示。


GNUls在其信息页面 ( ) 中有记录info ls可在网上获取

列出的文件模式位与符号模式规范类似(请参阅符号模式)。但 ls 将多个位组合到每组权限的第三个字符中,如下所示:

...

t

如果限制删除标志或粘性位以及其他可执行位均已设置。限制删除标志是粘性位的另一个名称。请参阅模式结构

T

如果设置了限制删除标志或粘性位,但未设置其他可执行位。

x

如果设置了可执行位,并且以上都不适用。

小写t表示x(对于其他用户团体单独显示,而大写字母T则不显示。

这引导我们模式结构

除了上面列出的三组三个权限之外,文件模式位还有三个特殊组件,它们仅影响可执行文件(程序)和大多数系统上的目录:

...

  1. 防止非特权用户删除或重命名目录中的文件,除非他们拥有该文件或目录;这称为限制删除标志对于目录,通常位于像 /tmp 这样的全球可写目录上。

    对于某些旧系统上的常规文件,将程序的文本图像保存在交换设备上,以便在运行时加载速度更快;这称为粘着位

当用于文件,这是一个旧优化指示操作系统在运行它们后缓存它们。它在现代操作系统中不再相关。

相关内容