我想授予用户对 Linux 系统中给定目录的“备份”只读权限,以便它可以备份所有文件,而不管他们的权限如何。
我阅读了有关 acl 的信息并创建了两个测试目录 (test 和 test2)。我通过以下方式更改了它们的 acl:
setfacl -R -m u:backup:r-X test2
并尝试使它们默认为:
setfacl -R -d -m u:backup:r-X test2
但是,当所有者将测试权限更改为 700 时,备份用户无法再进入测试,除非我再次运行不带 -d 的 setfacl。
这两个 acl 之间的区别似乎是 #effective 字段,如下所示。是否有办法通过使用 acl 永久覆盖用户的 chmod,以便备份用户始终能够读取目录内容?
谢谢。
$ getfacl 测试
# 文件:测试 # 所有者:root # 组:root 用户::rwx 用户:备份:rx #有效:--- 组::rx #有效:--- 面具:: - - 其他:: - - 默认值:用户::rwx 默认:用户:备份:rx 默认:组::rx 默认值:掩码::rx 默认:其他::rx
$ getfacl 测试2
# 文件:test2 # 所有者:root # 组:root 用户::rwx 用户:备份:rx 组::rx 掩码::rx 其他:: - - 默认值:用户::rwx 默认:用户:备份:rx 默认:组::rx 默认值:掩码::rx 默认:其他::rx