我有一个在 GCP (nginx+php7) 上运行的 ubuntu 18.04 服务器。我已经设置了一个目录,/var/www/mysite.com
该目录是drwxr-xr-x www-data:www-data
.public_html/
也是drwxr-xr-x www-data:www-data
。
我使用以下命令尝试将文件同步到目录(用于自动部署):
rsync -azvp test/ [email protected]:/var/www/mysite.com/public_html/test/
但是,当我这样做时,我收到以下错误:
rsync: mkdir "/var/www/mysite.com/public_html/test" failed: Permission denied (13)
我已经检查过groups
该me
用户,它是该组的一部分www-data
。
尽管我是 www-data 组的成员,为什么我的许可仍然被拒绝?我开始怀疑我是否使用了正确的组来完成我想做的事情。
谢谢你的帮助!
答案1
组www-data
没有写权限。
(你声明它有权限drwxr-xr-x www-data:www-data
)
您需要(至少)授予该组写入权限 ( sudo --user www-data chmod -R g+w /var/www/mysite.com
)。
此外,我会考虑使用文件访问控制列表(具有默认权限),以确保该组www-data
保留访问权限。看在 gnu/linux 上设置文件权限等有哪些不同方法欲了解更多信息。