我想远程备份来自不同用户的一大堆文件夹。因此,我创建了一个特殊用户,该用户能够登录机器,并且(应该)有权通过 acl 读取所有文件。
到目前为止,我所做的就是将这些 acl 添加到主目录
sudo setfacl -R -m d:u:backupuser:r-X /home
sudo setfacl -R -m u:backupuser:r-X /home
我以为所有新文件都会从父文件夹继承 acl,因此备份用户能够读取所有文件和所有新文件。实际上,备份用户无法读取某些新文件。我遗漏了什么?
答案1
ACLS 使用组权限作为掩码反对设置了什么。
因此,如果你有一个 acl
u:backupuser:r-X
但有一种模式:
rwx------
那么 ACL 将无法正常工作。如果模式为:
rwx--x---
那么这将允许backupuser
仅遍历访问目录。
答案2
起初我以为是“X”(大写),因为我以为应该是小写 x。但后来我在目录上尝试了一下,它工作正常。所以我不明白为什么它对你不起作用。
我还有另一个疑问,即默认掩码值设置。查看 getfacl 对 /home 的输出。
建议:如果您有需要备份的系统网络,使用备份系统会更容易管理。我建议使用 AMANDA,因为我在我的小型网络中已经使用了几年。