我尝试与我的服务器rsync文件,该服务器通过ssh禁用root登录。我试图使用我创建并添加到轮组的用户之一。通常 - 当我通过ssh登录时,我运行
su - root
然后输入密码并以root
用户身份运行所有内容,但不太确定如何使用rsync
进行操作,因为我需要将文件上传到用户目录之外。
当我跑步时:
rsync -avz files/* sshwheeluser@ip_address:/home/newproject/public_html/
我明白了:
rsync: ERROR: cannot stat destination "/home/newproject/public_html/": Permission denied (13)
我已将以下内容添加到/etc/sudoers
文件中:
rsyncuser ALL= NOPASSWD:/usr/bin/rsync
加上我没有评论:
%wheel ALL=(ALL) NOPASSWD: ALL
我也尝试按照某些帖子的建议使用–rsync-path="sudo rsync"
运行命令,但仍然没有运气:
rsync -avz –rsync-path="sudo rsync" files/* sshwheeluser@ip_address:/home/newproject/public_html/
接下来,我尝试将其与其他-e "ssh"
:
rsync -avz -e "ssh" –rsync-path="sudo rsync" files/* sshwheeluser@ip_address:/home/newproject/public_html/
更改了错误消息(看起来我们正在某处):
stdin: is not a tty
sudo: sorry, you must have a tty to run sudo
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at /SourceCache/rsync/rsync-40/rsync/io.c(452) [sender=2.6.9]
This post建议在require_tty
中禁用tty_tickets
和sudoers
,但我无法在/ etc / sudoers文件中找到这些选项。< / p>
我已将({推荐)Defaults !tty_tickets
添加到sudoers
,但仍然是相同的消息。
知道我需要做些什么才能让它发挥作用吗?
答案 0 :(得分:0)
您应该检查Selinux日志,rsync
可能已被Selinux阻止。
您也可以尝试运行:
semanage permissive -a rsync_t