通过SSH进行RSync – 即使用户位于根组中,权限也被拒绝

前端之家收集整理的这篇文章主要介绍了通过SSH进行RSync – 即使用户位于根组中,权限也被拒绝前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要通过网络在服务器之间复制文件.我在ssh上使用RSYNC这样做.
问题是,无论文件在哪里,我都需要能够传输文件.

我创建了一个用户rsync和:usermod -G root -a rsync,使他有权在两台服务器上的任何地方进行读/写.

在转移过程中,我看到了这个错误

rsync: mkstemp "/root/.myFile.RDr2HY" Failed: Permission denied (13)

我不明白发生了什么.

编辑:我刚发现目标文件夹没有root组的写访问权限.我如何100%访问此rsync用户?如果我将其uid更改为0,rsync将停止工作.

解决方法

你做了什么,usermod -G root -a rsync,是将rsync用户添加到根组.这对大多数系统都没有任何影响,因为根组并不特殊.有些系统需要在根组中将权限升级到root用户,但这永远不够(根组是可能使用sudo的用户组,或者某些等效设置).

在安全性方面,授予用户在任何地方写入文件的权限与向用户提供root权限完全相同. (用户可以覆盖/ bin / su,或/ etc / passwd,/usr/sbin / sshd,或任何其他程序和数据库,让她为自己设置后门.)

如果需要通过ssh访问任意文件,请以root身份允许ssh登录.没有密码(或者是一个长的,随机生成的密码),只需要一个密钥(当然,你需要小心保护).在/ etc / sshd_config中,put

PermitRootLogin yes

猜你在找的Linux相关文章