Product SiteDocumentation Site

7.3.4. Dominios Permisivos

Cuando SELinux se ejecuta en modo permisivo, SELinux no niega el acceso, sino que las negaciones para las acciones se guardan como si fuera que corre en modo obediente. Previamente, no era posible hacer permisivo un único dominio (recuerde: los procesos corren en dominios). En ciertas situaciones, esto llevó a hacer el sistema permisivo para poder corregir los problemas.
Fedora 11 introduce los dominios permisivos, donde un administrador puede configurar un único proceso (dominio) para que corra permisivo, en vez de hacer todo el sistema permisivo. Los chequeos de SELinux se realizan igualmente para dominios permisivos; sin embargo, el kernel permite el acceso e informa la negación AVC para situaciones donde SELinux hubiera negado el acceso. Los dominios permisivos están también disponibles en Fedora 9 (con las últimas actualizaciones aplicadas).
En el Linux para Empresas de Red Hat 4 y 5, los Booleanos dominio_disable_trans están disponibles para prevenir que una aplicación transicione a un dominio confinado, y por lo tanto, el proceso se ejecute en un dominio no confinado, tal como initrc_t. Poniendo en 1 tales booleanos pueden causar problemas serios. Por ejemplo, si el Booleano httpd_disable_trans se pone en 1:
Los Booleanos domain_disable_trans fueron eliminados de Fedora 7, y no se pusieron reemplazos. Los dominios permisivos pueden resolver esos problemas: se aplican las reglas de transición y los archivos se crean con las etiquetas correctas.
Los dominios permisivos se pueden usar para:

7.3.4.1. Creando un Dominio Permisivo

Para hacer un dominio permisivo, ejecute el comando semanage permissive -a dominio, donde dominio es el dominio que quiere hacer permisivo. Por ejemplo, ejecute el siguiente comando como usuario root de Linux para hacer permisivo el dominio httpd_t (el dominio en el que corre el Servidor HTTP Apache):
/usr/sbin/semanage permissive -a httpd_t
Para ver una lista de los dominios que hizo permisivos, corra el comando semodule -l | grep permissive como usuario root de Linux. Por ejemplo:
# /usr/sbin/semodule -l | grep permissive
permissive_httpd_t      1.0
Si ya no quiere que un dominio sea permisivo, corra el comando semanage permissive -d dominio como usuario root de Linux. Por ejemplo:
/usr/sbin/semanage permissive -d httpd_t