设置或修改文件权限 编辑该页面 var /当运行该应用程序的目录您的项目。在dev环境,bin /控制台和公共/ index . php文件使用umask ()确保目录是可写的。这意味着你不需要配置权限在开发应用程序在您的本地机器上。 然而,使用umask ()在生产中并不认为是安全的。这就是为什么你经常需要配置一些在您的生产服务器权限明确在本文中解释道。 var / log /目录必须存在,必须由您的web服务器可写的用户和终端用户; 的var /缓存/目录必须是可写的终端用户(用户运行缓存:热身或缓存:清晰命令); 的var /缓存/目录必须由web服务器可写的用户如果使用filesystem-based缓存。 setfacl(Linux / BSD) 使用访问控制列表(ACL)权限是最安全的,推荐的方法var /目录可写的。你可能需要安装setfacl和启用ACL支持在使用这个方法之前在你的磁盘分区。然后,使用下面的脚本,以确定您的web服务器用户并授予所需的权限: 1 2 3 4 5 6 7 8 美元HTTPDUSER = $ (ps axo用户通讯| grep - e(一)pache | [h] ttpd | [_] www | [w] ww-data | [n] ginx”根头| 1 | | grep - v - d \ f1)削减#如果以下命令不工作,尝试添加“n”选择“setfacl”#设置权限为未来的文件和文件夹美元sudo setfacl是u - m:”美元HTTPDUSER”:特权- m u: $ (whoami):特权var#设置权限的现有的文件和文件夹美元sudo setfacl - r - m u:”美元HTTPDUSER”:特权- m u: $ (whoami):特权var 这两个命令分配系统用户的权限(一个运行这些命令)和web服务器用户。 请注意 setfacl不可以在NFS挂载点。但是,缓存和存储日志不提倡通过NFS性能的原因。 httpd . conf或apache2.confApache)并设置其用户一样CLI用户(例如Apache,更新用户和集团指令)。 谨慎 如果使用这个解决方案在生产服务器,确保该用户只有有限的权限(不进入私人数据或服务器,执行不安全的二进制文件,等等)作为破坏服务器会给黑客的特权。 umask这样缓存和日志group-writable或人人可写的目录(如果web服务器根据用户和命令行用户是否在同一组)。为了实现这一点,把下面的开始bin /控制台,公共/ index . php文件: 1 2 3 4 5 umask (0002年);/ /这将允许的权限是0775/ /或umask (0000年);/ /这将允许的权限是0777 谨慎 改变了umask不是线程安全的,所以ACL方法推荐时是可用的。