apache AH 00035:访问/被拒绝(文件系统路径“/Users/xxx/Documents/workspace”),因为路径的组件缺少搜索权限

3qpi33ja  于 2022-11-16  发布在  Apache
关注(0)|答案(2)|浏览(202)

尝试在我的mac上设置localhost,并在/etc/apache 2/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 {} \;

没找到。有人能帮我吗?谢谢。

3hvapo4f

3hvapo4f1#

Unix权限不仅仅是“目的地中的权限”,您需要对整个路径的“搜索”权限,直到最后一个目录,正如Apache的消息所述
简单地说,搜索权限意味着目录中至少缺少“x”,因此apache使用的无权限用户可以搜索整个路径,直到到达“/Users/xxx/Documents/workspace/firstRepo/htdocs”。
您可以尝试执行以下命令以确保您拥有这些文件:

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

无法访问权限正确的目录的唯一其他情况是SELinux正在控制对这些目录的访问。
Apache wiki上有一个关于这方面的文档,因为很多人对Unix下权限的工作方式感到困惑。Permissions

eaf3rand

eaf3rand2#

此错误可以通过更具体方法解决,例如:
semanage fcontext -a -t httpd_sys_content_t "/var/www/htmlxx(/.*)?"
restorecon -F -R -v /var/www/htmlxx
你可以看一下oracle base article once

相关问题