Apache vs用户文件所有者

时间:2014-02-07 09:56:56

标签: apache development-environment

(UNIX / LINUX)

通常在本地开发环境中我们争取许可,这真是令人讨厌的事情,因为有时我们认为代码错误只是apache无法访问的文件。

主要问题是一些文件是由Apache(因此Web应用程序)创建的,其他文件是由开发人员(IDE或编辑)创建的

我使用它将我的用户添加到apache组的解决方案:

- sudo usermod -a -G www-data <username>   - sudo chgrp -R www-data /var/www

问题是当我用IDE创建一个新文件时,文件有[我的用户] / [我的用户]作为所有者,有时apache无法读取这些文件(取决于权限标志) 所以我被迫重新执行sudo chgrp -R www-data /var/www

任何避免这种情况的解决方案?

2 个答案:

答案 0 :(得分:1)

三个主要解决方案

设置用户ID /设置组ID

sudo chmod -R 2750 www-data /path

将apache ITK与AssignUserId(特权分离)

一起使用
<IfModule itk.c>
  AssignUserId www-data www-data
</IfModule>

将apache添加到IDE组(不推荐)

旁注

设置用户ID可能具有潜在危险,因为用户(apache,几乎全世界)可以通过使用授予他们不同(enanched)权限的文件来获得额外的权限,因此您完全知道自己在做什么

答案 1 :(得分:0)

我发现这个question:要求一些不同的东西,但答案看起来是一个解决方案,就在这里他们所说的(KahWee Teng):

您可以将自己添加到群组中:

sudo usermod -a -G www-data <username>

如果您没有:

,请将组更改为www-data
sudo chgrp -R www-data /var/www

获取新文件以继承权限(775)(粘性位)

sudo chmod -R 2775 /var/www

关键是最后一步(2775)