apache 2.4 权限问题(禁止)

apache 2.4 权限问题(禁止)

这让我抓狂了!

刚刚安装了带有 Apache 2.4.7 的 Ubuntu 14.04。我找到了很多关于这个问题的帖子,但似乎都不起作用。我确实启用了 ACL,但 -b(删除条目)或为 www-data 组添加权限都不起作用。真正让我烦恼的是,我真的不知道问题出在哪里(不过我认为这是 Apache 的问题)?

尝试了这里的一切:Apache 2.4 不遵循所有符号链接

apache2.conf

<Directory /var/www/>
    Options +FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

启用站点的/vhost.conf

<VirtualHost *:80>
    ServerName dev.net
    ServerAdmin [email protected]
    DocumentRoot /var/www/dev
    <Directory /var/www/dev/>
            Options +FollowSymLinks
            AllowOverride All
            Require all granted
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.dev.log
    CustomLog ${APACHE_LOG_DIR}/access.dev.log combined
</VirtualHost>

ls-al /var/www

lrwxrwxrwx   1 root root   40 Sep 30 13:51 dev -> /home/yyyy/dev

sudo -u www-data ls -al /var/www/dev/

ls: cannot access /var/www/dev/: Permission denied

错误日志

[Tue Sep 30 14:16:22.508794 2014] [core:error] [pid 544] [client 127.0.0.1:52850] AH00037: Symbolic link not allowed or link target not accessible: /var/www/dev

这些是与身份验证相关的启用模块(这些在安装期间默认启用):

access_compat.load -> ../mods-available/access_compat.load
auth_basic.load -> ../mods-available/auth_basic.load
authn_core.load -> ../mods-available/authn_core.load
authn_file.load -> ../mods-available/authn_file.load
authz_core.load -> ../mods-available/authz_core.load
authz_host.load -> ../mods-available/authz_host.load
authz_user.load -> ../mods-available/authz_user.load

我在这里做错了什么?

解决方案

我明白了。希望我的愚蠢能为其他人节省一些时间。我忘了自己曾经加密了我的主目录这是我以前没有做过的。

一旦我将符号链接从等式中取出,日志错误就会发生改变,这导致了这个问题:

[Tue Sep 30 16:16:36.497015 2014] [core:error] [pid 2292] (13)Permission denied: [client 127.0.0.1:54012] AH00035: access to / denied (filesystem path '/home/yyyy/zzzz') because search permissions are missing on a component of the path

果然drwx------ /home/yyyy/zzzz

答案1

添加www-data为所有者和所有者组:

sudo chown -R www-data:www-data /var/www

root默认情况下,用户始终对整个文件系统拥有读写权限。

或者…

您可以修改运行 apache 的用户,但这可能会造成损害,因此我不建议这样做。

相关内容