Apache httpd 权限

Apache httpd 权限

我已经创建了一个目录

/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 权限,但仍然存在同样的问题。

答案1

你要做的就是复制相同的安全上下文/var/www/html 有。要这样做:

# ls -la --context /var/www/html
drwxr-xr-x root root system_u:object_r:httpd_sys_content_t .
drwxr-xr-x root root system_u:object_r:httpd_sys_content_t ..
-rw-r--r-- root root user_u:object_r:httpd_sys_content_t index.html

然后您必须将其设置为您想要的 DocumentRoot,如下所示:

# chcon -R system_u:object_r:httpd_sys_content_t /xyz/www

答案2

您的目标目录是 NTFS 还是 ext3?请使用以下方式检查目标目录的 SELinux 上下文:

ls -a --context /target/directory

如果目标目录的上下文相似

system_u:object_r:fusefs_t:s0

使用

setsebool -P httpd_use_fusefs on

可能对你有用,因为这可能只是文件系统的一个布尔问题。请确认布尔的安全性方面,因为我对此并不了解。

SELinux 布尔值

答案3

目录通常需要x进程的权限才能访问其中的文件。使用您当前拥有的权限,您将能够访问ls目录但无法cd进入目录。由于目录归您所有,因此 Apache 将使用第三列的权限运行。

尝试chmod +x /xyz/www

如果仍然有问题,请检查权限/xyz/

答案4

您还应该<Directory /xyz/www>在 apache 配置中添加类似这样的部分

Order allow,deny
Allow from all

相关内容