通过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

相关文章

insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...