Используя UserDir в Apache, зачем нужен исполняемый файл в /home/usr?

Я играю с функцией UserDir в apache: http://httpd.apache.org/docs/2.0/mod/mod_userdir.html

Вот моя конфигурация:

<IfModule mod_userdir.c>

        UserDir enabled user
        UserDir public_html

</IfModule>

<Directory "/home/*/public_html">
    AllowOverride FileInfo AuthConfig Limit Indexes
    Options MultiViews Indexes 
    Allow from all
    Order deny,allow

</Directory

Он продолжал генерировать ошибку 403, отказ в доступе. Так было до тех пор, пока я не добавил исполняемый файл в каталог / home / user:

chmod 711 /home/user

У public_html уже был o + r, что было логично для пользователя apache для чтения содержимого, но зачем добавлять исполняемый файл в базовую папку?

Это все работает. Мне просто любопытно, почему это так.

2 ответа

Решение

Исполняемый бит в каталоге определяет права доступа к каталогу.

Согласно FAQ

Чтобы обслуживать файлы, Apache должен иметь соответствующие разрешения, предоставленные операционной системой для доступа к этим файлам. В частности, пользователь или группа, указанные в httpd.conf, должны иметь возможность читать все файлы, которые будут обслуживаться, и искать каталог, содержащий эти файлы, а также все родительские каталоги вплоть до корня файловой системы.

Это просто природа возможности открывать каталоги для доступа к файлам.

Другие вопросы по тегам