AH00035:访问/拒绝(文件系统路径' / Users / xxx / Documents / workspace')因为路径组件上缺少搜索权限

时间:2017-04-10 08:18:42

标签: apache permissions localhost httpd.conf

尝试在我的mac上设置localhost并在/etc/apache2/httpd.conf中进行以下更改

DocumentRoot "/Users/xxx/Documents/workspace/firstRepo/htdocs"
<Directory "/Users/xxx/Documents/workspace/firstRepo/htdocs">

我知道它与dir权限有关,所以我在线跟踪建议并运行以下命令:

find /Users/xxx/Documents/workspace -type d -exec chmod 755 {} \;
find /Users/xxx/Documents/workspace -type f -exec chmod 644 {} \;

这里没有运气。有人可以帮我弄这个吗?感谢。

1 个答案:

答案 0 :(得分:3)

Unix权限不仅仅是“目的地权限”,你需要对整个路径的“搜索”权限,直到最后一个目录,因为来自Apache的消息说

搜索权限意味着,在一个简单的解释中,“x”至少在目录中丢失,因此非特权用户apache正在使用它可以走到整个路径,直到到达“/ Users / xxx / Documents / workspace / firstRepo / htdocs”。

您可以尝试此命令以确保拥有它们:

namei -mol /Users/xxx/Documents/workspace/firstRepo/htdocs

如果SELinux正在控制对这些目录的访问,则只有其他无法访问权限的情况才能访问。

Apache wiki有一个关于此的文档,因为许多人对Unix下的权限如何工作感到困惑。 Permissions