非 root 用户的 webroot 的 Rsync 权限

非 root 用户的 webroot 的 Rsync 权限

我正在尝试设置一个能够将文件 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/sudoerssudo: no tty present and no askpass program specified

首先,这种使用非 root 用户将网站文件同步到服务器的设置是否常见?是否有另一种首选方式来为 Web 开发设置对服务器的有限访问权限?

如果首选这种类型的设置,那么我所概述的配置是否存在任何危险信号?

相关内容