Hacer que todos los contextos de SELinux sean permanentes

9

He hecho muchas cosas chconúltimamente, pero si lo entiendo correctamente, se borrarán en la próxima etiqueta. ¿Hay alguna manera de hacer que los contextos actuales (preferiblemente justo debajo de cierto directorio) sean permanentes? Entiendo que hay una manera de hacerlo usando semanage, pero eso significa volver a revisar y verificar el contexto de cada archivo e invocar semanagepara establecer una regla. Entonces, ¿hay alguna forma automatizada de hacerlo?

brianmearns
fuente

Respuestas:

5

En primer lugar, está en lo correcto al hacer que semanage fcontext -a -t <type> <filepattern>los cambios en los archivos sean permanentes al agregarlos a la política: deberá volver a etiquetar o restorecon -R -v <filepattern>aplicar esos cambios. chconno altera la política, solo el contexto en el disco.

Puede generar una lista de diferencias a su política etiquetada con matchpathcon, específicamente:

matchpathcon -V /path/to/file

Desafortunadamente, no tiene una opción recursiva, probablemente debido al hecho de que caminar por el árbol sería costoso, pero podría conducirlo con:

find / -exec matchpathcon -V {} \;

Sin embargo, ten cuidado. Creo que find atravesará todos los montajes del sistema de archivos, incluidos los sistemas de archivos sin atributos extendidos (xattrs) que pueden causar problemas. Por supuesto, si todos sus sistemas de archivos tienen atributos extendidos, no hay problema.

Una vez que tenga esta lista, puede escribir un guión para elegir los que desee semanage. Sin embargo, no conozco una forma automatizada de hacer esto de una sola vez.


fuente
3

Usar matchpathconcon findes muy lento. ¿Por qué no usar restorecon?

restorecon -rnv /path/to/dir

Las banderas son recursivas, sin cambios y detalladas.

usuario33688
fuente