(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
任何避免这种情况的解决方案?
答案 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-datasudo chgrp -R www-data /var/www
获取新文件以继承权限(775)(粘性位)
sudo chmod -R 2775 /var/www
关键是最后一步(2775)