显示网页需要 Apache 执行权限

显示网页需要 Apache 执行权限

我目前遇到了一些奇怪的事情,apache 必须具有执行权限才能显示页面。这是当前在目录中设置的权限,其中管理员拥有所有权限,而 apache 仅具有读取权限。然而,当我尝试访问索引时,我遇到了 403。

我是不是漏掉了什么?我以为 apache 只需要读取权限就可以显示页面?

drwxr-----  3 admin www-data 4096 Apr  4 12:27 assets
drwxr-----  3 admin www-data 4096 Apr  4 12:27 css
drwxr-----  3 admin www-data 4096 Apr  4 12:27 images
-rwxr-----  1 admin www-data  469 Apr  4 12:27 index.php
drwxr----- 15 admin www-data 4096 Apr  4 12:27 protected
drwxr-----  4 admin www-data 4096 Apr  4 12:27 themes

虚拟主机如下:

NameVirtualHost *:443
<VirtualHost *:443>
    ServerName ****
    ServerAlias ****
    SSLEngine On
    SSLCertificateFile ****
    SSLCertificateKeyFile ****
    DocumentRoot /home/sites/share
</VirtualHost>

感谢您的帮助。

根据请求编辑:

/home/sites/share 的权限

drwxr----- 8 admin www-data 4096 Apr  4 14:52 share

/home/sites 的权限

drwxr-xr-x  6 admin admin  4096 Apr  4 12:27 sites

/home 上的权限

drwxr-xr-x   4 root root  4096 Apr  2 18:01 home

答案1

共享目录需要 www-data 组的执行权限。如果没有执行权限,www-data 组(即 Apache)的成员将无法访问该目录的内容。

chmod 750 /home/sites/share

编辑:显然,Apache 需要访问的任何其他目录,例如上面的 assets/images/etc,以及这些目录的任何子文件夹也需要该组的执行权限。

相关内容