Centos 6.5,WHM:使用Wheel Group中的ssh用户禁用根同步



我正在尝试与我的服务器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]

这篇文章建议在sudoers中禁用require_ttytty_tickets,但我在/etc/sudoers文件中找不到这些选项。

我已经将Defaults !tty_tickets添加到了sudoers中(根据建议),但仍然是相同的消息。

你知道我还需要做什么才能让它发挥作用吗?

您应该检查Selinux日志,rsync可能已被Selinux阻止。

您也可以尝试运行:

semanage permissive -a rsync_t  

最新更新