我正在为此苦苦挣扎。 让我们假设如下:
名为“deploy”的用户在其主目录中有一个名为example.com的目录。 其中有许多文件,其权限设置如下:
drwxrwxrwx 6部署部署4096 2010-02-10 21:06 example.com
还有一个全新安装的Apache 2以www-data:www-data的forms运行。
我需要的文件仍然由部署拥有:部署,但我需要Apache能够写入这些文件。
不应该将www-data添加到部署组,反之亦然,请允许apache写入example.com目录?
我的/ etc / groups文件显示(截断为了简洁):
WWW的数据:X:33:部署 部署:X:1000:WWW的数据
但www数据用户不能写入目录。 这让我疯狂! 帮帮我?
我认为www-data用户至less需要在父目录上读取和执行权限,如果不是整个目录path。 如果用户的主目录被限制为700( drwx------ ),那么这也将阻止在子目录中的组写入。 当然,更改主目录可能会有其他的影响(例如对于ssh),所以你最好将用户的example.com目录放在Apache htdocs区域下 – 尽pipe你已经有了组设置。
作为东西的所有者recursion地分配给www数据,而不仅仅是顶层文件夹。 应该这样做
要testing您的设置,您可以使用
$ sudo -- su -c "ls -l /home/deploy/example.com" www-data
甚至
$ sudo -- su -c "touch /home/deploy/example.com/dummy" www-data
看看你是否可以写入该目录作为万维网数据。