GNU/Linux >> Tutoriales Linux >  >> Linux

Acceso a la documentación de la política de SELinux

[¿Quiere probar Red Hat Enterprise Linux? Descárguelo ahora gratis.]

Hay muchas páginas man excelentes para los dominios confinados incluidos con la política de SELinux. Estas páginas del manual describen los tipos de contexto y booleanos para cada dominio. También incluyen ejemplos de semanage comandos para agregar asignaciones de contexto, cambiar valores booleanos y más.

Desafortunadamente para el administrador de sistemas que comienza con la configuración de SELinux, estas páginas man a menudo no se instalan de manera predeterminada. Las páginas del manual de políticas de SELinux están disponibles en dos ubicaciones. El repositorio de políticas de referencia ascendente tiene un puñado de páginas man preconstruidas. El resto se puede generar a partir del contenido de la política con una herramienta que se encuentra en policycoreutils-devel paquete.

Instalar desde un paquete de distribución

Algunas distribuciones generan previamente las páginas man y las empaquetan para que la documentación sea fácil de agregar a su sistema. Fedora, CentOS y Red Hat Enterprise Linux 8 incluyen un selinux-policy-doc.noarch paquete en sus repositorios base. Este paquete no está instalado de forma predeterminada, pero es fácil de agregar con un yum o dnf comando:

$ sudo yum install selinux-policy-doc.noarch

Red Hat Enterprise Linux 7 también tiene este paquete, pero está en el repositorio "Opcional" que no está habilitado de forma predeterminada. Habilite el repositorio de forma permanente con subscription-manager :

$ sudo subscription-manager repo --enable=rhel-7-server-optional-rpms

o simplemente agregue el repositorio temporalmente durante la instalación:

$ sudo yum --enablerepo=rhel-7-server-optional-rpms install selinux-policy-doc.noarch

Ahora que la documentación del dominio SELinux está disponible, busque las páginas relevantes con:

$ man -k _selinux

Nota: Después de instalar el paquete de documentos, es posible que también deba actualizar el caché del índice de la página de manual antes de ver los resultados de la búsqueda:

$ sudo mandb

Generar páginas man desde la política

Si el paquete de documentos no está disponible, o si solo desea generar una página de manual para un dominio específico, también puede crear las páginas de manual a partir de la política. Primero, instale el devel paquetes y sus dependencias:

$ sudo yum install policycoreutils-devel 

Luego, usa la sepolicy manpage comando para generar una página man específica especificando el tipo de dominio (el tipo de contexto de SELinux asociado con el proceso en ejecución que está contenido). Por ejemplo:

$ sepolicy manpage -d httpd_t

La página de manual resultante se generará en /tmp directorio y se puede ver por nombre:

$ man /tmp/httpd_selinux.8

Hay opciones para la página de manual de sepolicy manpage comando para anular la ubicación de salida (--path ), generar una versión html (--web ), o generar todo (--all ) páginas. Para ver estas y otras opciones, utilice:

$ man sepolicy-manpage

Siempre que un usuario tenga privilegios de escritura en la ruta de salida, puede generar y ver una página man.

Vista previa de la magia de estas páginas de manual

Todas las páginas man de SELinux para los tipos de dominio tienen un diseño común. Al igual que con cualquier conjunto de páginas de manual, cuantas más páginas de manual lea, más fácil será escanear o acelerar la lectura de la siguiente.

Cada página de manual comienza con los campos NOMBRE y DESCRIPCIÓN esperados de cualquier página de manual. Las páginas del manual de dominio de SELinux incluyen las secciones PUNTOS DE ENTRADA y TIPOS DE PROCESO. (Los puntos de entrada son los tipos asignados a los archivos ejecutables, que cuando se inician como demonios transicionan a los tipos de procesos confinados).

Sin embargo, no todos los tipos de procesos son demonios, algunos pueden ser ejecutables interactivos. Por ejemplo, sshd_exec_t es un punto de entrada que pasa a sshd_t tipo de proceso. Además, sshd_t , ssh_t y ssh_keygen_t y también son ejemplos de tipos de procesos.

Los tipos de proceso también se conocen como tipos de dominio y son los tipos que se pueden colocar en modo permisivo con el semanage comando.

Después de cualquier sección de punto de entrada y tipo de proceso, la página del manual de dominio de SELinux tiene secciones para cualquier BOOLEANO, TIPO DE PUERTO, ARCHIVOS ADMINISTRADOS y CONTEXTOS DE ARCHIVO que se aplican a ese dominio. Estas secciones definen palabras clave y proporcionan ejemplos de modificaciones que se pueden realizar con el semanage dominio. Habilitar un booleano permite un conjunto de reglas diferente para diferentes casos de uso. Las modificaciones del contexto de archivos y puertos permiten configurar un sistema para almacenar datos en una ubicación no predeterminada o ejecutarse en un puerto no predeterminado.

Cada página del manual finaliza con una lista de COMANDOS a los que se hace referencia en la página del manual y en las secciones AUTOR y VER TAMBIÉN de la página del manual tradicional.

Empezar a explorar

Con el targeted política, el httpd La página de dominio es probablemente la más larga, ya que ese dominio tiene la mayor cantidad de valores booleanos y tipos de archivos para describir. También fue uno de los primeros dominios confinados en la historia de SELinux targeted política.

Comience con un dominio que le resulte familiar, como sshd , httpd o ntpd . Luego busque dominios que sean relevantes para su entorno. Después de instalar selinux-docs paquete, ¡tengo más de 850 páginas man para explorar en mi sistema!

Y recuerde, ¡siga aplicando SELinux! (Así es como se hace).


Linux
  1. Las 5 mejores opciones de comando man de Linux para navegar por las páginas man

  2. ¿Cómo usar las páginas man para aprender a usar los comandos?

  3. ¿Leer y buscar páginas man largas?

  4. ¿Búsqueda que no distingue entre mayúsculas y minúsculas en las páginas del manual?

  5. 8 Ejemplo de comando Man de UNIX/Linux para ver páginas Man

Dwww:vea la documentación completa de Debian sin conexión a través del navegador web

Aprenda a usar las páginas de manual de manera eficiente en Linux

Cómo ver una sección específica en las páginas man en Linux

Cómo instalar páginas man en Alpine Linux

¿Colores en las páginas man?

¿Caracteres de cita de la página de manual?