Я запускаю стандартную установку 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 /]#