На этот вопрос уже есть ответ:
Вопрос: Какое право собственности требуется Apache, чтобы не требовать разрешения на выполнение для всего мира на public_html
( 751
)?
Предыстория: Когда я изменил php В настройках .ini через cPanel возникла ошибка «Ошибка: EUID, 1005, не принадлежит /home/my_user_name/public_html/.htaccess». Я понял это, потому что это был файл .htaccess
, принадлежавший root: root
,
Итак, как зеленый пользователь SHELL я изменил владельца каждого файла, используя chown -R имя_пользователя: имя_пользователя. [^.] *
. Милая, теперь я могу сохранить свой php.ini через MultiPHP INI в cPanel.
Вот тогда и появилась эта красивая ошибка при попытке посетить любую страницу моего сайта Drupal 8:
Запрещено У вас нет разрешения на доступ к / на этом сервере. Сервер не может прочитать файл htaccess, запрещает доступ в целях безопасности
Кроме того, произошла ошибка 403 Forbidden при попытке использовать ErrorDocument для обработки запроса.
Даже после удаления, повторной загрузки и смены владельца на root: root
это не сработало.
Единственное, что сработало, - это изменение public_html
на 751 (вместо 750). Зачем Apache нужны разрешения на выполнение для всего мира? И какой владелец / группа мне нужно изменить это, чтобы исправить это?
754 также не работает
Для доступа к файлам внутри вам необходимо разрешение на выполнение в каталоге.
Apache обращается к файлам не как root, а как другой пользователь, httpd или www, www-apache или apache ... Зависит от ваших настроек.
] Если владельцем каталога является root, а группа - root без мирового исполняемого бита, только root может получить доступ к файлам внутри. Запуск chmod + x public_html
должен исправить это.