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

selinux на RHEL6: httpd config. DocumentRoot [/ путь / существует / существует] «не существует»

Я запускаю стандартную установку RHEL6 и указал свой httpd DocumentRoot на /path/does/exist (это существует!). Я дал разрешение на apache user и добавил то, что, по моему мнению, должно быть необходимой меткой, через:

chcon -R  -t httpd_sys_content_t /path/does

но без кубиков.

audit2why показывает отсутствующее правило разрешения принудительного применения типа для запроса, который выглядит как

avc:  denied  { search } for  pid=4793
   comm="httpd" name="/"  
   scontext=unconfined_u:system_r:httpd_t:s0 
   tcontext=system_u:object_r:file_t:s0 
   tclass=dir

Может кто-нибудь помочь мне интерпретировать? Обратите внимание, что я не ищу ответ "отключить selinux" :-)

Спасибо!

-B

Вам нужно будет применить следующее (при условии, что путь / www)

chcon -R -u system_u /www
chcon -R -t httpd_sys_content_t /www

А затем заставьте его пережить ярлык:

semanage fcontext -a -s system_u -t httpd_sys_content_t /www

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

drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 www
[root@kvm0001 /]# chcon --reference=/var/www www
[root@kvm0001 /]# ls -laZ
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 www
[root@kvm0001 /]#