rsync 保持覆盖所有者和组

rsync 保持覆盖所有者和组

源文件具有以下权限jim:jim

原始目标文件具有以下权限www-data:www-data

我的命令:rsync -Pav --no-p --no-o --no-g file ubuntu@ip_address:/path/file

然而目标文件变成:ubuntu:ubuntu,我想将其保留为www-data:www-data

然而,即使源文件和目标文件不同,权限也会保留。可能是什么问题呢?

笔记: rsync 是从 MacOS 到 Ubuntu 完成的。不确定这是否有任何相关。

谢谢。

答案1

您的目标用户帐户ubuntu无权创建 所拥有的文件www-data,因此无法实现您想要的效果。

使用目标用户名www-dataroot,或者如果这仅用于备份,请考虑添加-M--fake-super到命令中。

答案2

你说你想保留www-data:www-data,但你指定了--no-o --no-g哪个将其关闭:

   --owner, -o
          This option causes rsync to set the owner of the destination file to 
          be the same as the source file, but only if the receiving rsync is  
          being  run  as the super-user (see also the --super and --fake-super
          options).  Without this option, the owner of new and/or transferred 
          files are set to the invoking user on the receiving side.

(团体也一样)

要使其正常工作,您还需要成为远程主机上的 root 用户,您可以使用以下命令执行此操作(如果您sudo在远程计算机上使用NOPASSWD):

rsync -Pav --rsync-path="sudo rsync" file ubuntu@ip_address:/path/file

相关内容