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