Назад | Перейти на главную страницу

Почему при использовании 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 для чтения содержимого, но зачем добавлять исполняемый файл в базовую папку?

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

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

Согласно Вопросы-Ответы

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

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