Recriando contextos locais do selinux após a reinstalação do sistema operacional

2

Adicionamos alguns contextos específicos ao nosso SELinux através do comando "semanage fcontext ...". Os padrões são armazenados em /etc/selinux/targetd/contexts/files/file_contexts.local.

Assumindo que queríamos implementar as mesmas permissões em uma máquina diferente ou precisar reinstalar o sistema operacional nesta máquina, colocar o arquivo_contexto.local no local correto é suficiente? Há alguma etapa adicional que seria necessária para que o SELinux processasse e usasse o arquivo?

SO: RHEL 6.7

Obrigado!

    
por KevinO 09.02.2016 / 16:45

1 resposta

2

Além de copiar sobre o arquivo /etc/selinux/targetd/contexts/files/file_contexts.local , você também precisará executar o comando restorecon nos diretórios e arquivos referenciados em /etc/selinux/targetd/contexts/files/file_contexts.local .

Uma maneira simples de fazer isso (ao mesmo tempo que configura o contexto do SELinux para todos os arquivos no sistema referenciados por /etc/selinux/targetd/contexts/files/file_contexts - os padrões do SELinux) seria executar o seguinte comando:

$ sudo restorecon -R /

Observação : o sinalizador -R significa recorrer a subdiretórios e arquivos, restaurando, assim, o contexto de todos os arquivos no sistema, conforme definido em file_context e file_context.local de arquivos.

EDIT: Como sourcejedi sabiamente apontou nos comentários. A execução de restorecon em todo o sistema de arquivos pode tentar alterar os rótulos nos sistemas de arquivos que não são compatíveis (por exemplo, unidades montadas, etc.). Você pode usar o comando fixfiles restore para evitar esse problema.

Na página fixfiles man:

By default it will relabel all mounted ext2, ext3, xfs and jfs file systems as 
long as they do not have a security context mount option. The file 
/etc/selinux/fixfiles_exclude_dirs can contain a list of directories 
excluded from relabeling.

Você também pode usar fixfiles onboot , que será reclassificado na próxima reinicialização.

Da mesma forma, touch /.autorelabel && reboot irá reetiquetar arquivos durante a reinicialização /

    
por 18.01.2017 / 17:12

Tags