文件和目录上的粘滞位

文件和目录上的粘滞位

我一直听说粘性位只能与目录一起使用,我理解这一点,但是如果将其应用于文件,则意味着什么。如果我将粘性位设置为文件并执行操作,ls -la我会看到大写 T,但我不知道这是否会影响文件的行为。

答案1

这是RTFM的一个案例

man 1 chmod

限制删除标志或粘性位 限制删除标志或粘性位是单个位,其解释取决于文件类型。对于目录,它可以防止非特权用户删除或重命名目录中的文件,除非他们拥有该文件或目录;这称为目录的限制删除标志,通常在全局可写目录(例如 /tmp.对于某些旧系统上的常规文件,该位将程序的文本图像保存在交换设备上,以便运行时加载速度更快;这称为粘性位。

答案2

对于可执行文件,这是居民少量。管理员可以设置它来告诉操作系统将程序代码保留在交换空间中,即使该程序当前没有运行。

现代操作系统具有复杂的内存管理算法,通常在管理内存方面比人类做得更好,因此这一点被忽略了,并且已经存在了几十年。对于任何甚至可以被称为现代的操作系统来说,它都是过时的并且本质上毫无意义。

除非你热衷于复古计算,你永远不会遇到解释它的操作系统。例如,Linux 从未实现过它。 Solaris 于 2005 年删除了它。

对于不可执行的文件,Solaris 上使用粘性位来告诉操作系统不应缓存该文件。它通常设置在交换文件上。

相关内容