use*_*064 7 permissions rsync acl
对不起,但我找不到解决这个明显的简单问题的在线搜索和这个论坛。
我有一个简单的需求:将目录及其内容复制到另一个本地位置,同时保留 ACL 和 xAttr。通过使用 -A 和 -X 选项,根据手册页,这应该非常简单:
rsync -aAX /source/directory /destination/directory
Run Code Online (Sandbox Code Playgroud)
但这无法保护它们。'cp' 的简单使用虽然有效。
cp -a /source/directory /destination/directory
Run Code Online (Sandbox Code Playgroud)
我尝试了各种其他组合,即使 sudo 没有成功......
sudo rsync -rA /source/directory /destination/directory
Run Code Online (Sandbox Code Playgroud)
我使用的是 Ubuntu 14.04LTS;我确定我有 ACL,因为我已经使用“setfacl”和“getfacl”设置了 ACL
setfacl -R -m "g:gp2:rw" MyDirectoryOfInterest
Run Code Online (Sandbox Code Playgroud)
getfacl 显示 ACL 正在使用的地方:
>>getfacl /source/DirectoryOfInterest
getfacl: Removing leading '/' from absolute path names
# file: source/DirectoryOfInterest
# owner: myusername
# group: myusername
user::rwx
user:usr1:rwx
user:usr2:rw-
user:usr3:r--
group::rwx
group:gp1:r--
group:gp2:rw-
group:gp3:rwx
mask::rwx
other::rwx
Run Code Online (Sandbox Code Playgroud)
注意:源目录和目标目录都在同一个驱动器上,甚至在同一个目录中,目标目录只是简单地附加数字“2”。例如 /home/username/Car 和 /home/username/Car2。
注意:rsync 将运行,但不会分配任何 ACL 和 xAttr
>>getfacl /home/myusername/test123/Cars2
getfacl: Removing leading '/' from absolute path names
# file: home/myusername/test123/Cars2
# owner: myusername
# group: myusername
user::rwx
group::rwx
other::r-x
Run Code Online (Sandbox Code Playgroud)
我需要使用 rsync,因为最终我希望将它与需要使用 rsync 以满足我的需要的 NAS 一起使用。任何帮助,将不胜感激。
我将部分回答我自己的问题。
我在一台旧电脑上安装了 Lubuntu 供我的孩子使用。我决定看看 Lubuntu 版本的 rsync 是否能正常运行。Lubuntu 16.04.1LTS 上的 rsync 版本是 3.1.1 协议版本 31。
rsync -aAX /source/filename /destination/
rsync -aAX /source/filename /destination/filename
rsync -aAX /source/filename /destination/newfilename
Run Code Online (Sandbox Code Playgroud)
在 Lubuntu 一切正常。
Ubuntu 14.04LTS(3.0.1,如果我没记错的话)上的 rsync 版本有一个错误,或者是我弄乱了配置文件或类似文件。
由于我将安装 Ubuntu 16.04.1LTS 来代替 Ubuntu 14.04LTS,因此我不会再花费任何时间尝试解决该问题。
问候。