dim*_*mid 6 permissions nfs executable files
我试图弄清楚 NFS v3 中如何使用粘性位。 RFC 1813在第 22 页说:
0x00200 保存交换的文本(在 POSIX 中未定义)。
他们所说的“交换文本”是什么意思?在“NFS Illustrated”中,作者 Brent Callaghan 说这意味着不缓存。但是,我在其他地方没有看到这种解释。
可执行文件的文本部分是实际的可执行代码,这就是它所指的内容。在 Linux 上,此请求被忽略,它只是管理员所做的优化。内核可以自行完成此操作,无需提示。
意思是如果可执行文本被换出,并且进程结束,则保留它以备下次使用。在 linux 上(本地)可执行文件不会被换出,因为从文件中重新加载是一样快的。也许 NFS 有点不同。
粘滞位对于其他文件类型具有其他含义:您针对可执行文件进行了描述。对于目录,它阻止非所有者删除文件。
我假设 nfs 是一样的,当我 20 年前使用它时。
来自:http : //netbsd.gw.com/cgi-bin/man-cgi?sticky+7+NetBSD-current
后来,在 SunOS 4 上,粘滞位对于设置了该位且不可执行的文件具有额外的含义:对这些文件的读写操作将直接进入磁盘并绕过缓冲区缓存。这通常用于 NFS 服务器上 NFS 客户端的交换文件,以便服务器上的客户端生成的交换 I/O 不会从服务器的缓冲区缓存中驱逐有用的数据。