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

Разрешения Apache httpd

Я создал каталог

/xyz/www

Со следующими разрешениями:

-rw-r--r--. 1 myuser developers

Я отредактировал свой http.conf:

DocumentRoot "/xyz/www/"
<Directory "/xyz/www/">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Я получаю ошибку 403: You don't have permission to access / on this server.

Смотрим в журналах:

(13)Permission denied: Can't open directory for index: /xyz/www/

Я попытался рекурсивно добавить 777 разрешений, но проблема все равно осталась.

Что вам нужно сделать, это скопировать то же самое контекст безопасности / var / www / html имеет. Сделать это:

# ls -la --context /var/www/html
drwxr-xr-x root root system_u:object_r:httpd_sys_content_t .
drwxr-xr-x root root system_u:object_r:httpd_sys_content_t ..
-rw-r--r-- root root user_u:object_r:httpd_sys_content_t index.html

Затем вы должны установить его по своему желанию DocumentRoot следующим образом:

# chcon -R system_u:object_r:httpd_sys_content_t /xyz/www

Ваш целевой каталог NTFS или ext3? Пожалуйста, проверьте контекст SELinux целевого каталога, используя

ls -a --context /target/directory

Если контекст целевого каталога похож

system_u:object_r:fusefs_t:s0

с помощью

setsebool -P httpd_use_fusefs on

может сработать для вас, поскольку это может быть просто логическая проблема для файловой системы. Пожалуйста, подтвердите аспекты безопасности логических значений, поскольку я о них не знаю.

SELinux Booleans

Каталоги обычно требуют x разрешение процессам на доступ к файлам в них. С разрешениями, которые у вас есть в настоящее время, вы сможете ls каталог, но не cd внутрь. Поскольку каталог принадлежит вам, Apache будет работать с разрешениями третьего столбца.

Пытаться chmod +x /xyz/www.

Если у вас все еще есть проблемы, проверьте разрешения на /xyz/ также.

Вам также следует добавить <Directory /xyz/www> раздел в конфигурацию apache с чем-то вроде

Order allow,deny
Allow from all

http://wiki.centos.org/HowTos/SELinux

Команду 'chcon' можно использовать для изменения контекста безопасности SELinux файла или файлов / каталогов аналогично тому, как 'chown' или 'chmod' могут использоваться для изменения владельца или стандартных прав доступа к файлу.

chcon -Rv --type = httpd_sys_content_t / xyz / www

У меня была такая же проблема - chcon команда исправила это.

Я создавал установочный сервер и хотел, чтобы мои изображения находились под /export/install/<image> с символической ссылкой в ​​корне документа. Я был уверен в своем httpd.conf настройки были правильными.

Каталоги и файлы были 755 & 644 соответственно, а Apache пользователь мог перемещаться по дереву, так что это было?

Я использовал команду, аналогичную приведенной выше, но использовал ссылка вариант:

% chcon -R --reference=/var/www/html /export

Мог бы просто выключиться selinux но я хочу научиться жить с этим.