AH00035:访问/拒绝(文件系统路径'/用户/ xxx /文件/工作区'),因为路径的组件上缺少搜索权限

问题描述:

尝试在我的mac上设置localhost,并在/ etc/apache2 /httpd.confAH00035:访问/拒绝(文件系统路径'/用户/ xxx /文件/工作区'),因为路径的组件上缺少搜索权限

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

我知道这件事情做的目录权限,所以我在网上跟着建议跑以下命令:

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

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

Unix许可是不正义的,你需要的“搜索”权限的完整路径,直到最后一个目录作为Apache的消息称

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

你可以试试这个命令以确保你有他们:

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

不能够访问其中的权限是正确的,只有另一种情况是,如果SELinux的是控制访问的目录。

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

+1

谢谢。在mac OS中找不到namei命令。但我发现问题是因为/ Users/xxx文件夹只对拥有者拥有权限。我用'chmod + x/Users/xxx'修复了它 –