如何在目录中永久设置 acl rX 并覆盖所有者的 chmod 更改?

如何在目录中永久设置 acl rX 并覆盖所有者的 chmod 更改?

我想授予用户对 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

相关内容