为什么在 Ubuntu 中忽略组写权限?

为什么在 Ubuntu 中忽略组写权限?

我希望我的用户对本地 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 服务器始终能够访问它。

相关内容