如何正确使用rsync保留所有文件权限和所有权?

3
我正在尝试使用rsync将一台计算机(PopOS!21.04)上的数据备份到另一台计算机(Rocky 8.4)。但是,无论我使用rsync的哪些标志,文件权限和所有权似乎都没有被保存。
我的做法是在PopOS上本地运行以下命令:
sudo rsync -avz /home/user1/test/ root@192.168.10.11:/root/ttt/ 然后我得到的结果类似于这样:
[root@rocky_clone0 ~]# ls -ld ttt/
drwxrwxr-x. 2 user23 user23 32 Dec 17  2021 ttt/
[root@rocky_clone0 ~]# ls -l ttt/
total 8
-rw-rw-r--. 1 user23 user23 57 Dec 17  2021 test1
-rw-rw-r--. 1 user23 user23 29 Dec 17  2021 test2

所以所有文件的所有权都更改为user23,这是Rocky上唯一的普通用户。我不明白这是如何发生的,因为我使用rsync连接到远程主机上的root,但结果文件被复制为user23。为什么在这种情况下-a标志不能正常工作呢?
我还尝试了这些标志: sudo rsync -avz --rsync-path="sudo -u user23 rsync -a" /home/user1/test root@192.168.10.11:/home/user23/rrr 这个命令无法复制到根目录,所以我不得不将远程目标更改为user23的主目录。但结果是一样的。
如果有人能解释一下我做错了什么,以及如何使用rsync备份文件,使权限和所有权保持与本地计算机上相同,我会非常感激。
1个回答

0

看一下Rocky(目标)系统上文件系统的挂载方式。

一些已挂载的文件系统(如许多FUSE挂载)不支持经典的Unix权限,只是使用挂载文件系统的用户名称作为所有者/组。 任何尝试更改chown/chmod等操作(无论是您还是rsync)都将被静默忽略,但似乎“成功”(没有报告错误)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接