Permissions 每次缓存清除后必须修复var文件夹权限,Symfony 4

Permissions 每次缓存清除后必须修复var文件夹权限,Symfony 4,permissions,symfony4,ubuntu-18.04,Permissions,Symfony4,Ubuntu 18.04,我使用的是symfony4,我的网站位于ubuntu 18.04服务器上 问题是每次清除缓存时都必须运行chmod 777-R var/ 是否有永久修复权限的命令?这很可能是因为web服务器的用户需要写入此目录。你可以做几件事。首先,您可以清除缓存,因为您的web服务器用户非常喜欢www数据,但这取决于您的服务器软件以及您是否进行了任何更改: sudo -u www-data php bin/console cache:clear 第二种选择是使用“访问控制列表”,为CLI用户和web服务器用

我使用的是symfony4,我的网站位于ubuntu 18.04服务器上

问题是每次清除缓存时都必须运行chmod 777-R var/


是否有永久修复权限的命令?

这很可能是因为web服务器的用户需要写入此目录。你可以做几件事。首先,您可以清除缓存,因为您的web服务器用户非常喜欢www数据,但这取决于您的服务器软件以及您是否进行了任何更改:

sudo -u www-data php bin/console cache:clear
第二种选择是使用“访问控制列表”,为CLI用户和web服务器用户提供访问权限。首先,通过运行sudo apt get install ACL来安装ACL。然后运行以下命令:


之后,您可以使用常规CLI用户清除缓存

我假设您以不同的用户身份运行这些命令,从而导致问题。意思是:web服务器/php在用户www数据或其他内容下运行symfony,而您使用root或其他内容使缓存目录对symfony用户不可写。
 HTTPDUSER=$(ps axo user,comm | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\  -f1)
 sudo setfacl -dR -m u:"$HTTPDUSER":rwX -m u:$(whoami):rwX var
 sudo setfacl -R -m u:"$HTTPDUSER":rwX -m u:$(whoami):rwX var