我正在尝试想出一种方法来长期存储图像文件,使其可以访问但不能更改(一次写入多次读取)
- 每个文件的大小约为 1MB,我预计在整个生命周期中不会超过 1000 个左右。我可以选择将批次刻录到 CD/DVD 以进行长期离线存储
- 我希望它们采用一种我可以随时读取文件但不能修改或删除它的格式
- 可以随时自动添加新文件
我已经研究了几种不同的选择,但还没有找到任何有效的方法。我发现的最接近的事情是使用chattr
在 ext4 上设置不可变位。这样做的缺点是只有 root 可以设置该位,即使我拥有该文件。如果可能的话,我宁愿不走那条路。
答案1
为什么不简单地将文件系统挂载为只读?
如果写入稀缺,可以在保存图片时将其重新挂载为可读写,然后再将其重新挂载为只读。
答案2
如果您在目录上设置这些默认 ACL:
setfacl -dm u::rx,g::rx,o::rx the-directory
然后在其中创建的文件和目录将是只读的(对每个人来说)。
但请注意,它不会阻止用户更改其后创建的文件的权限。
另请注意,它会覆盖umask
(即使文件umask
会限制读取访问权限,它也会使文件可读)。