Apache AH00035 错误,直到我通过 SSH 登录

Apache AH00035 错误,直到我通过 SSH 登录

我在 Ubuntu(14.04.1 - 一小时前已完全修复)上使用 userdir mod 配置 Apache(2.4.7)时遇到问题。尝试访问我的 userdir 时,我不断收到以下错误(例如:https://server.tld/~kjp/

[client 10.2.10.105:57727] AH00035: access to /~kjp/ denied (filesystem path '/home/kjp/public_html') because search permissions are missing on a component of the path

奇怪的是:当我通过 SSH(同一用户)登录服务器时,这些错误不再发生。

我知道 AH00035 错误与文件权限有关,因此这是我的设置:

kjp@server:~/public_html$ ls -alF
total 36
drwxr-xr-x 2 kjp www-data 4096 Jan 16 13:02 ./
drwxr-xr-x 7 kjp kjp      4096 Jan 18 23:46 ../
-rw-r--r-- 1 kjp www-data  177 Jan 16 13:48 .htaccess
-rw-r--r-- 1 kjp www-data 5340 Jan 17 22:14 index.html

我尝试将它们设置为 777,但是
1) 这是一个坏主意,并且
2) 无论如何它都不起作用。

有任何想法吗?

答案1

事实证明我在安装 Ubuntu 时启用了 ecryptfs。这意味着在我登录之前,userdir 是加密的,www-data 用户无法访问。

禁用 ecryptfs 后,一切都运行正常。我甚至可以将目录/文件的组所有权重置为我自己的用户。

相关内容