я использую centos 6.2
недавно я заметил, что apache работает с включенным selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=Permissive
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
я заметил, что эти ошибки приходили на dmesg
type=1400 audit(1354453732.704:9056368): avc: denied { name_connect } for pid=39006 comm="httpd" dest=11211 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:memcache_port_t:s0 tclass=tcp_socket
type=1400 audit(1354453735.777:9056369): avc: denied { name_connect } for pid=39046 comm="httpd" dest=6379 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:port_t:s0 tclass=tcp_socket
я тогда включил
/usr/sbin/setsebool httpd_can_network_connect=1
и это остановило ошибки, а также начали работать веб-страницы.
Мой вопрос: если selinux находится в разрешающем режиме, будет ли selinuxtype = target применять какие-либо политики?
если нет, то как это решило проблему с apache, поскольку selinux уже был в разрешающем режиме?
В разрешающем режиме SElinux будет регистрировать элементы, которые привели бы к отказу в доступе в принудительном режиме, но не будет фактически отклонять эти действия. Так что нет, он не будет применять политики в разрешающем режиме, но он будет обращаться к этим политикам. Если бы вы были в принудительном режиме, вы не смогли бы запускать / использовать httpd, пока не выполнили команду setsebool, поскольку связь между ним и сетевым подключением была бы запрещена SELinux.
Как уже ответил Джон, SELinux просто регистрирует ошибки, а не блокирует службы.
Мы используем SElinux в сценариях, где мы хотели бы протестировать вещи перед их развертыванием в производственной среде и хотели бы понять, что все могло пойти не так.
Хотя вы также можете протестировать то же самое в производственной среде и продолжать исправлять политики до тех пор, пока не убедитесь, что все на месте, а затем измените режим на целевой.