Product SiteDocumentation Site

7.3.4. Разрешающие домены (Permissive Domains)

Когда SELinux запущен в разрешающем режиме, SELinux не блокирует доступ, но блокировки журналируются как действия, которые были бы блокированы, если запущен принудительный режим. Раньше, не было возможности сделать определенный домен разрешающим (помните: процессы запускаются в доменах). В некоторых ситуациях, это ведет к тому, чтобы сделать всю систему разрешающей для диагностики и исправления ошибок.
Fedora 13 включает разрешающие домены, где администратор может сконфигурировать определенный процесс (домен) для запуска в разрешающем режиме, вместо того, чтобы всю систему перевести в разрешающий режим. SELinux всё равно выполняет проверки разрешающих доменов; однако, ядро предоставляет доступ и сообщает AVC об отказах в доступе, когда SELinux блокирует доступ. Разрешающие домены доступны также и в Fedora 9 (с установленными последними обновлениями).
В Red Hat Enterprise Linux 4 and 5, доступны Булевы переключатели domain_disable_trans для предотвращения приложений выполнения переходов (transitions) в ограниченный домен, кроме того, процесс, запускается в неограниченном домене, таком как initrc_t. Настройка подобных Булевых значений может привести к возникновению значительных проблем. Например, если Булево значение httpd_disable_trans включено:
Булевы значения domain_disable_trans были удалены из Fedora 7, и для них не подразумевается никакой замены. Разрешающие домены решают подобные ситуации: правила переходов применяются и файлы создаются с корректными метками.
Разрешающие домены могут быть использованы для:

7.3.4.1. Подготовка разрешающего домена

Для того чтобы сделать домен разрешающим, необходимо выполнить команду semanage permissive -a domain, где domain - это домен, который нужно сделать разрешающим. Например, выполнение следующей команды от имени пользователя root, сделает домен httpd_t (домен, в котором запускается Apache HTTP Server) разрешающим:
/usr/sbin/semanage permissive -a httpd_t
Для просмотра доменов, работающих в разрешающем режиме, выполните команду semodule -l | grep permissive от имени пользователя root. Например:
# /usr/sbin/semodule -l | grep permissive
permissive_httpd_t      1.0
Если вам больше не требуется существование разрешающего домена, выполните команду semanage permissive -d domain от имени пользователя root. Например:
/usr/sbin/semanage permissive -d httpd_t