目标是通过 ssh 同步本地和远程文件夹。
我当前的用户是user1,并且我通过 ssh 对服务器进行了无密码访问设置server1。
我想将本地文件夹与上的文件夹同步server1借助于rsync公用事业。
通常我会运行:
rsync -rtvz /path/to/local/folder server1:/path/to/remote/folder
ssh访问按预期工作,rsync能够连接ssh,但它返回“权限被拒绝”错误,因为server1文件夹/path/to/remote/folder
属于user2:用户2。该文件夹的文件权限不允许其他人更改。user1是 sudoerserver1 so sudo su - user2
期间工作ssh会议。
如何强制rsync切换用户时ssh'ed 到服务器?
Adding user1到小组user2不是一个选项,因为服务器上的所有用户/组管理都是自动完成的,并且每 X 分钟从中央存储库复制一次,我无法访问。
更改目标文件夹的权限/所有权也是如此:它会定期自动更新,并重置所有权限。
我想到的可能的解决方案是一个脚本,该脚本将本地文件夹与拥有的临时中间远程文件夹同步user1在服务器上,然后将两个远程文件夹同步为user2.
谷歌搜索更短、更漂亮的解决方案并没有取得任何成功。
我自己没有尝试过,但是使用 rsync 的“--rsync-path”选项怎么样?
rsync -rtvz --rsync-path='sudo -u user2 rsync' /path/to/local/folder server1:/path/to/remote/folder
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)