UNIX 文件系统中的粘滞位是什么?
作为管理员您何时以及如何使用它?
答案1
它最初的用途是向操作系统提供提示,提示可执行文件应缓存在内存中,以便加载速度更快。这种用途现在已被弃用,因为操作系统现在对这类事情相当聪明。事实上,我认为现在有些操作系统使用它来提示可执行文件应该缓存在内存中,以便加载速度更快。不应该被缓存。
目前最常见的用途是创建一个目录,任何人都可以在其中创建文件,但只有该目录中文件的所有者才能删除该文件。传统上,如果您有一个任何人都可以写入的目录,那么任何人都可以从中删除文件。在目录中设置粘滞位使得只有文件所有者才能从全球可写入的目录中删除该文件。
这个的经典用途是/tmp
目录:
$ ls -ld /tmp
drwxrwxrwt 29 root root 5120 May 20 09:15 /tmp/
模式t
中有粘性位。如果没有设置,普通用户很容易删除 中的所有内容,造成严重破坏/tmp
。由于许多守护进程将套接字放入 中/tmp
,因此它本质上是一个本地 DOS。