普通用户以 root 身份在两个系统之间进行 rsync

普通用户以 root 身份在两个系统之间进行 rsync

我如何更改用户权限,以便用户能够以 root 身份在两个系统之间进行 rsync。

我在 visudo 中添加了该用户。

参数 ALL = NOPASSWD: /usr/bin/rsync

然后我在 1 系统中输入 rsync 命令,将数据从一台服务器推送到另一台服务器

rsync -avP /opt/paru/[电子邮件保护]:/opt/帕鲁

当我 rsync 时,出现以下错误:

发送增量文件列表 rsync: mkdir "/opt/paru" 失败: 权限被拒绝 (13) rsync 错误: main.c(576) 处文件 IO 错误 (代码 11) [接收器=3.0.6] rsync: 连接意外关闭 (迄今已接收 9 个字节) [发送器] rsync 错误: io.c(600) 处 rsync 协议数据流错误 (代码 12) [发送器=3.0.6]

我应该怎么做才能让用户 paru 以 root 身份在两个系统之间进行 rsync?

答案1

一种方法是实际以 root 身份连接到远程系统。

不要为此使用密码验证,因此请确保sshd_config目标计算机上的设置为PermitRootLogin without-password。然后,在远程系统上将 ssh 密钥添加到 root 的 authorized_keys 文件中。将该 ssh 密钥加载到本地用户的 ssh 代理中。

然后您可以像这样简单地 rsync:

rsync -avP /opt/paru/ [email protected]:/opt/paru

sudo使用root 帐户没有任何安全优势,因为paru远程系统上的用户可以轻松利用他们的 sudo 权限提升到 root 帐户。

另一种方法,使用sudo描述在这里。不过,为了简单起见,我一直更喜欢上述方法。

答案2

我刚刚在尝试备份到 rsync.net 时遇到了这个问题。他们告诉我冒号“:”后面的最后一部分应该是本地路径名。

rsync -avP /opt/paru/[电子邮件保护]:/opt/帕鲁

变成

rsync -avP /opt/paru/[电子邮件保护]:选择/帕鲁

相关内容