![为什么在 Ubuntu 中忽略组写权限?](https://linux22.com/image/1331179/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%9C%A8%20Ubuntu%20%E4%B8%AD%E5%BF%BD%E7%95%A5%E7%BB%84%E5%86%99%E6%9D%83%E9%99%90%EF%BC%9F.png)
我希望我的用户对本地 Apache 根文件夹有完全访问权限,并且我还希望 Apache 用户对同一个文件夹有完全访问权限。
我所做的是创建一个名为 DevGroup 的新组,并www-data
在其中添加了我的用户。我还将权限更改为 770 以允许完全组访问。
但现在它不允许我或 Apache 用户以任何形式访问该文件夹。
以下是我得到的结果ls
:
drwxrwx--- 12 root DevGroup 4096 Sep 27 17:34 testFolder
这看起来很完美,但是当我尝试以用户身份访问该文件时,我得到了以下信息:
var/www$ ls testFolder/
ls: cannot open directory testFolder/: Permission denied
另外,当我尝试从浏览器访问文件夹中的页面时:
[Thu Sep 27 17:47:16 2012] [error] [client 127.0.0.1] PHP Fatal error:
Unknown: Failed opening required '/var/www/testFolder/foo.php'
(include_path='.:/usr/share/php:/usr/share/pear') in Unknown on line 0
这是什么问题?我该如何解决?
答案1
您所描述的应该可以起作用,但是您可能需要注销并重新启动 apache,以便它们获取新的组成员身份。
如果此文件夹位于 webroot 下,那么将其视为 web 服务器的“属性”是合理的,因此您可以将其保留在用户 www-data 和组 DevGroup 的所有权下,这将确保 web 服务器始终能够访问它。