尝试在 Ubuntu 18.04 LTS 上部署 Symfony - setfacl 不工作?
Trying to deploy Symfony on Ubuntu 18.04 LTS - setfacl not working?
我正在按照指南 here(诚然它有点过时)将我的第一个 Symfony 4 项目部署到生产环境中。在我获得文件权限之前,一切都很好。我在 link 的第 4 步中专门执行了这些步骤:
sudo chown -R myuser:myuser /var/www/html
sudo chmod -R 750 /var/www/html
sudo setfacl -R -m u:www-data:rX /var/www/html/project
sudo setfacl -R -m u:www-data:rwX /var/www/html/project/var/cache /var/www/html/project/var/log
sudo setfacl -dR -m u:www-data:rwX /var/www/html/project/var/cache /var/www/html/project/var/log
这给了我
getfacl /var/www/html/project
# file: var/www/html/project/
# owner: myuser
# group: myuser
user::rwx
user:www-data:r-x
group::r-x
mask::r-x
other::---
和
getfacl /var/www/html/project/var/cache
# file: var/www/html/project/var/cache
# owner: myuser
# group: myuser
user::rwx
user:www-data:rwx
group::r-x
mask::rwx
other::---
default:user::rwx
default:user:www-data:rwx
default:group::r-x
default:mask::rwx
default:other::---
然而,当我转到 运行 网络应用程序时,我得到一个空白页面并且错误日志显示
[crit] 3116#3116: *12 stat() "/var/www/html/project/public/"
failed (13: Permission denied)
看来 setfacl 不起作用?我在这里做错了什么?有没有更好的权限指南?
鉴于 www-data
用户不是 myuser
组的成员,它需要 +x
权限才能进入 /var/www/html
目录。问题中的现有权限是“750”。要更改此设置:
chmod o+x /var/www/html
我正在按照指南 here(诚然它有点过时)将我的第一个 Symfony 4 项目部署到生产环境中。在我获得文件权限之前,一切都很好。我在 link 的第 4 步中专门执行了这些步骤:
sudo chown -R myuser:myuser /var/www/html
sudo chmod -R 750 /var/www/html
sudo setfacl -R -m u:www-data:rX /var/www/html/project
sudo setfacl -R -m u:www-data:rwX /var/www/html/project/var/cache /var/www/html/project/var/log
sudo setfacl -dR -m u:www-data:rwX /var/www/html/project/var/cache /var/www/html/project/var/log
这给了我
getfacl /var/www/html/project
# file: var/www/html/project/
# owner: myuser
# group: myuser
user::rwx
user:www-data:r-x
group::r-x
mask::r-x
other::---
和
getfacl /var/www/html/project/var/cache
# file: var/www/html/project/var/cache
# owner: myuser
# group: myuser
user::rwx
user:www-data:rwx
group::r-x
mask::rwx
other::---
default:user::rwx
default:user:www-data:rwx
default:group::r-x
default:mask::rwx
default:other::---
然而,当我转到 运行 网络应用程序时,我得到一个空白页面并且错误日志显示
[crit] 3116#3116: *12 stat() "/var/www/html/project/public/" failed (13: Permission denied)
看来 setfacl 不起作用?我在这里做错了什么?有没有更好的权限指南?
鉴于 www-data
用户不是 myuser
组的成员,它需要 +x
权限才能进入 /var/www/html
目录。问题中的现有权限是“750”。要更改此设置:
chmod o+x /var/www/html