当我在目录上运行 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
则不显示。
这引导我们模式结构:
除了上面列出的三组三个权限之外,文件模式位还有三个特殊组件,它们仅影响可执行文件(程序)和大多数系统上的目录:
...
防止非特权用户删除或重命名目录中的文件,除非他们拥有该文件或目录;这称为限制删除标志对于目录,通常位于像 /tmp 这样的全球可写目录上。
对于某些旧系统上的常规文件,将程序的文本图像保存在交换设备上,以便在运行时加载速度更快;这称为粘着位。
当用于文件,这是一个旧优化指示操作系统在运行它们后缓存它们。它在现代操作系统中不再相关。