rsync同步网站文件至服务器后,自动化设置权限与归属的问题求助
rsync同步网站文件至服务器后,自动化设置权限与归属的问题求助
我现在遇到一个自动化同步网站文件并设置权限的问题,想请教大家怎么解决:
我有一台部署了网站的服务器,网站目录是/var/www/html/website。平时我用rsync把本地XAMPP里的更新文件同步过去,用的命令是:
rsync -avzu --no-perms --no-owner --no-group --chown=user:www-data --progress /mnt/c/xampp7/htdocs/wbsite/ user@8.8.8.8:/var/www/html/website
但这里的--chown=user:www-data参数根本不起作用,因为修改文件归属需要sudo权限。
于是我在服务器的sudoers文件里加了这么一行,让user用户可以免密执行chmod、chown、chgrp这几个命令:
user ALL=NOPASSWD: /bin/chmod, /bin/chown, /bin/chgrp
可当我尝试用这条ssh命令远程执行权限修改时:
ssh user@8.8.8.8 "sudo find /var/www/html/website -type f -exec chmod 664 {} +"
却得到了这个错误:
sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
我需要完全自动化这个流程,绝对不能手动输入密码,而且因为一些限制,我没办法用git来做版本同步。有没有大佬能帮我解决这个问题?
备注:内容来源于stack exchange,提问作者Daviid
相关产品推荐
相关产品推荐

