У меня проблема с SELinux. setroubleshoot
Предлагаю включить mypol.pp
его semodule -i mypol.pp
, чтобы мог работать Apache.
после выполнения предложенной команды я продолжаю получать:
type=AVC msg=audit(1388119964.806:11): avc: denied { execute } for pid=2174 comm="httpd" path="/etc/httpd/lib/libaprutil-1.so.0.5.3" dev=md0 ino=2228931 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_config_t:s0 tclass=file
**** Invalid AVC allowed in current policy ***
type=AVC msg=audit(1388120085.792:29): avc: denied { execute } for pid=2298 comm="httpd" path="/etc/httpd/lib/libaprutil-1.so.0.5.3" dev=md0 ino=2228931 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_config_t:s0 tclass=file
**** Invalid AVC allowed in current policy ***
type=AVC msg=audit(1388120159.57:37): avc: denied { execute } for pid=2330 comm="httpd" path="/etc/httpd/lib/libaprutil-1.so.0.5.3" dev=md0 ino=2228931 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_config_t:s0 tclass=file
**** Invalid AVC allowed in current policy ***
type=AVC msg=audit(1388121088.955:65): avc: denied { name_connect } for pid=2331 comm="httpd" dest=8080 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_cache_port_t:s0 tclass=tcp_socket
**** Invalid AVC allowed in current policy ***
found 0 alerts in /var/log/audit/audit.log
решение1
Из приведенного ниже следует, что у вас возникла проблема с перемаркировкой.
type=AVC msg=audit(1388119964.806:11): avc: denied { execute } for pid=2174 comm="httpd" path="/etc/httpd/lib/libaprutil-1.so.0.5.3" dev=md0 ino=2228931 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_config_t:s0 tclass=file
Это /etc/httpd/lib
симлинк куда-то еще? Обычно вы не помещаете сюда свои библиотеки, а только как симлинк. Если так, запуск restorecon -Rv /usr/lib{,64}
здесь может быть полезен.
Чтобы вторая проблема, описанная ниже, работала, вам необходимо убедиться, что SELinux знает, какое поведение вы ожидаете от своей службы httpd.
type=AVC msg=audit(1388121088.955:65): avc: denied { name_connect } for pid=2331 comm="httpd" dest=8080 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_cache_port_t:s0 tclass=tcp_socket
Включите логическое значение, httpd_can_network_relay
запустив setsebool -P httpd_can_network_relay 1
.
решение2
Я не знаю о
**** Invalid AVC allowed in current policy ***
сообщении, но у нас естьВопросы и ответы по этому поводу здесьуже
Прогон предоставленного вами текста черезаудит2разрешитьпредполагает
#============= httpd_t ==============
allow httpd_t http_cache_port_t:tcp_socket name_connect;
allow httpd_t httpd_config_t:file execute;
поэтому вы можете попробовать использовать grep, чтобы извлечь соответствующие сообщения об отклонении AVC во временный файл, а затем передать его в audit2allow
grep denied: audit.log | grep httpd >temp.log
cat temp.log | audit2allow -M myHTTPD
******************** IMPORTANT ***********************
To make this policy package active, execute:
semodule -i myHTTPD.pp
После установки myHTTPD.pp вы все еще можете обнаружить, что SElinux не дает httpd запускаться. Это происходит потому, что более ранние (теперь разрешенные) запреты больше не маскируют более поздние. Просто повторяйте процесс выше каждый раз.