有没有办法设置目录,以便文件和目录
- 可以读
- 写给
- 创建
但并未删除。这是我的照片存档。我想避免意外删除照片。有什么办法吗?
PS/如果有帮助的话,我已经使用 bindfs 设置了存档。两个用户和一个组具有 0750 访问权限。
答案1
您可以设置仅追加属性。从man chattr
:
A file with the `a' attribute set can only be open in append mode for
writing. Only the superuser or a process possessing the
CAP_LINUX_IMMUTABLE capability can set or clear this attribute.
对于目录,这意味着可以创建新条目,但不能重命名或删除条目:
$ mkdir foo
$ sudo chattr +a foo
$ touch foo/bar
$ echo a > foo/bar
$ rm foo/bar
rm: cannot remove 'foo/bar': Operation not permitted
$ mv foo/bar foo/baz
mv: cannot move 'foo/bar' to 'foo/baz': Operation not permitted
此属性不会继承,因此您必须将其递归应用于所有子目录:
sudo find . -type d -exec chattr +a {} +