Apache目录权限问题

我有一个Web应用程序及其caching目录的问题(我使用的是symfony)

访问应用程序页面时,此caching目录由www-data用户填充。 caching也可以填充或删除从控制台执行一些命令。

问题是我使用这台机器进行开发,我需要通过networking访问,刷新caching,通过控制台创build新的模型等。

目前我有777的权限,使任何人都可写。 如果我浏览页面(并生成caching),则无法创build新模型,因为我无权更改由www-data生成的文件。 我必须使用sudo。 但是,然后,这些文件具有root权限,不能写入的Apache,页面崩溃…

我怎样才能使这个目录(及其dinamically生成的内容)可写入这两个用户?

非常感谢你。

“问题是我使用这台机器进行开发” – 是的,这是一个问题。 停止这样做,或者至less使用一个单独的应用程序实例( developmestuction是没有乐趣的)。

要使您的目录和Web服务器均可写,您可以使用扩展ACL授予Web服务器写入权限:

setfacl -mu:www-data:rwX /whatever/you/like 

或者授予networking服务器组(可能www-data写入访问目录:

 chgrp www-data /whatever/you/like; chmod g+w /whatever/you/like 

后一种select可能需要root权限(如果您不是www-data组的成员),如果在您的服务器上未启用扩展ACL,前者可能不起作用。