我如何更改用户权限,以便用户能够以 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
是描述在这里。不过,为了简单起见,我一直更喜欢上述方法。