我创建了一个目录
/xyz/www
具有以下权限:
-rw-r--r--. 1 myuser developers
我编辑了我的 http.conf:
DocumentRoot "/xyz/www/"
<Directory "/xyz/www/">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
我收到 403 错误:You don't have permission to access / on this server.
查看日志:
(13)Permission denied: Can't open directory for index: /xyz/www/
我试过递归地添加 777 权限,但仍然有同样的问题。
您需要做的是复制/var/www/html 具有的相同安全上下文。去做这个:
然后你必须将它设置为你想要的 DocumentRoot 如下:
您的目标目录是 NTFS 还是 ext3 ?请使用检查目标目录的 SELinux 上下文
如果目标目录的上下文相似
使用
可能对您有用,因为它可能只是文件系统的布尔问题。请确认布尔值的安全方面,因为我不知道它们。
SELinux 布尔值
目录通常需要
x
进程访问其中文件的权限。使用您当前拥有的权限,您将能够进入ls
目录但不能cd
进入目录。由于该目录归您所有,因此 Apache 将以第三列的权限运行。尝试
chmod +x /xyz/www
。如果仍有问题,请同时检查权限
/xyz/
。我有同样的问题 -
chcon
命令修复了它。我正在创建一个安装服务器,并希望我的图像在
/export/install/<image>
文档根目录下有一个符号链接。我确信我的httpd.conf
设置是正确的。目录和文件分别为755和644,apache用户可以遍历树,那是什么?
我使用了与上面类似的命令,但使用了参考选项:
本来可以关闭,
selinux
但我想学习如何忍受它。您还应该将
<Directory /xyz/www>
部分添加到 apache 配置中,例如http://wiki.centos.org/HowTos/SELinux
chcon -Rv --type=httpd_sys_content_t /xyz/www