我感兴趣的是通过删除(即,意外地,没有显式根权限)来保护父目录(例如,test
在下面的示例中),同时我需要能够在其中写入(作为非根用户)。
例如,假设我们有一个test
包含以下子目录的父目录:
test/
|-- dir_1
`-- dir_2
假设这root
是所有者,组是some_group
:
drwxr-xr-x 4 root some_group 4096 Apr 16 13:38 .
drwxr-xr-x 3 some_user some_user 4096 Apr 16 13:36 ..
drwxr-xr-x 2 root some_group 4096 Apr 16 13:38 dir_1
drwxr-xr-x 2 root some_group 4096 Apr 16 13:38 dir_2
现在,我希望属于 的成员的用户some_group
无法删除dir_1
和dir_2
,我相信我已经通过将它们设置为 来保证这一点755
,但同时我需要该用户能够在内部写入test
,但不能删除整个test
目录。有什么办法可以做到这一点吗?谢谢。
答案1
您需要认识到,在 Unix 文件系统中,删除条目不需要目标的写权限,只需要包含目录的写权限即可。
如果要保护该目录test
,请在 的父目录上设置权限test
。
如果您希望允许用户创建和删除自己的文件,请将权限设置test
为1777
。高位称为粘性位。