UNIX 文件系统中的粘性位是什么?什么时候使用?

Aar*_*n K 21 linux unix filesystems permissions

UNIX 文件系统中的粘性位是什么?

作为管理员,您将何时以及如何使用它?

jj3*_*j33 29

它最初的用途是向操作系统提供一个提示,即可执行文件应该缓存在内存中,以便加载速度更快。这种用法大多已被弃用,因为操作系统现在对这类事情非常聪明。事实上,我认为现在一些操作系统使用它作为应该缓存可执行文件的提示。

今天最常见的用途是创建一个目录,任何人都可以在其中创建文件,但只有该目录中文件的所有者才能删除它。传统上,如果您有一个任何人都可以写入的目录,那么任何人都可以从中删除文件。在目录上设置粘滞位使得只有文件的所有者可以从世界可写目录中删除文件。

这个的经典用法是/tmp目录:

$ ls -ld /tmp
drwxrwxrwt   29 root     root         5120 May 20 09:15 /tmp/
Run Code Online (Sandbox Code Playgroud)

t在模式存在粘滞位。如果没有设置,普通用户很容易通过从/tmp. 由于许多守护进程将套接字放入/tmp,它本质上是一个本地 DOS。