在目标计算机上使用rsync和sudo

遇到rsync未按预期设置UID和GID的问题 ,我的直觉是rsync应该在目标计算机上以root身份运行。

我无法通过SSH以root身份登录,因为出于安全目的而禁用了该root 。 目标计算机上的用户可以使用sudo

是否可以将rsyncsudo一起使用?

在目标计算机上

  1. 找出rsync的路径: which rsync
  2. 编辑/etc/sudoers文件: sudo visudo (另请参阅: 我必须使用visudo吗? )
  3. 添加行 ALL=NOPASSWD: ,其中username是rsync用于登录的用户的登录名。 该用户必须能够使用sudo

然后,在源计算机上,指定应使用sudo rsync

 rsync ... --rsync-path="sudo rsync" ... 

在目标计算机上使用它而不使用NOPASSWD将导致消息

sudo:没有tty存在且没有指定askpass程序