我正在尝试设置一个能够将文件 rsync 到我们 RHEL 6 服务器的 webroot 的非 root 用户。我目前设置了一个属于 apache 组和 wheel 组的用户(以便按照说明允许 sudo 访问这里)。
根据我发现的其他帖子,我尝试了以下操作:
rsync -azvP --chown=apache:apache img/test-image.png [email protected]:/var/www/vhosts/test
rsync -azvP --chown=apache:apache --rsync-path="sudo rsync" img/test-image.png [email protected]:/var/www/vhosts/test
如果没有该--rsync-path
标志,我会收到此错误:rsync: mkstemp "/var/www/vhosts/test/.test-image.png.0OU7WK" failed: Permission denied (13)
。
添加--rsync-path
标志后,我得到了sudo: sorry, you must have a tty to run sudo
,当我按照其他帖子中的建议注释掉该Defaults requiretty
行时,我得到了错误。看起来我可以尝试从这里排除更多故障,但感觉我正在掉进兔子洞,如果事情这么困难,我可能会把整个事情都搞错了。/etc/sudoers
sudo: no tty present and no askpass program specified
首先,这种使用非 root 用户将网站文件同步到服务器的设置是否常见?是否有另一种首选方式来为 Web 开发设置对服务器的有限访问权限?
如果首选这种类型的设置,那么我所概述的配置是否存在任何危险信号?