Torna todos os contextos SELinux permanentes

9

Eu fiz muito chcon -ing ultimamente, mas se eu entendi corretamente, eles serão apagados na próxima reclassificação. Existe alguma maneira de tornar os contextos atuais (de preferência logo abaixo de um determinado diretório) permanentes? Eu entendo que há uma maneira de fazer isso usando semanage , mas isso significa rever e verificar o contexto de cada arquivo e invocar semanage para definir uma regra. Então, há alguma maneira automatizada de fazer isso?

    
por brianmearns 21.01.2012 / 21:04

2 respostas

5

Primeiro, você está corrigindo que semanage fcontext -a -t <type> <filepattern> torna as alterações de arquivos permanentes adicionando-as à política. Você precisará reclassificar ou restorecon -R -v <filepattern> para aplicar essas alterações. chcon não altera a política, apenas o contexto do disco.

Você pode gerar uma lista de diferenças para sua política rotulada com matchpathcon , especificamente:

matchpathcon -V /path/to/file

Infelizmente, não tem opção recursiva, provavelmente devido ao fato de que andar na árvore seria caro, mas você poderia dirigi-lo com:

find / -exec matchpathcon -V {} \;

No entanto, tenha cuidado. Acredito que o find percorrerá todas as montagens do sistema de arquivos, incluindo sistemas de arquivos sem atributos estendidos (xattrs), que podem causar problemas. É claro que, se todos os seus sistemas de arquivos tiverem atributos estendidos, não haverá problema.

Uma vez que você tenha esta lista, você pode escrever um script para escolher aqueles que você vai usar semanage . Eu não sei de uma maneira automatizada de fazer isso em um hit, no entanto.

    
por 22.01.2012 / 00:13
3

Usar matchpathcon com find é muito lento. Por que não usar restorecon ?

restorecon -rnv /path/to/dir

as flags são recursivas, sem alterações e detalhadas.

    
por 06.03.2013 / 20:22

Tags