Como posso fazer uma reclassificação do sistema de arquivos SELINUX sem reinicializar primeiro?

2

Eu posso tocar no arquivo /.autorelabel e reiniciar, e durante a inicialização, ele fará a nova etiqueta do SELINUX para mim. Mas eu quero fazer isso em uma situação diferente, onde o sistema acaba de ser copiado para uma imagem do disco rígido. Eu posso chroot para a árvore de arquivos de origem, ou chroot para a imagem do dispositivo apenas preenchido e executá-lo. Eu simplesmente não consigo encontrar nada que diga o que deve ser executado.

Esta imagem está sendo transformada em uma AMI no AWS EC2 e contém o CentOS 6.3. Mas o tempo necessário para reclassificar é muito longo (6 minutos ou mais). Eu quero mover a etiqueta para a construção da imagem, onde o tempo extra não é um problema (porque acontece uma vez, em vez de cada vez que uma AMI é lançada). Eu posso fazer essa renomeação ser a última coisa antes de o sistema de arquivos ser desmontado pela última vez até que ele se torne uma AMI e seja iniciado. Eu só preciso saber o que chamar para fazer isso.

Eu pesquisei man pages sem sorte. Eu pesquisei scripts de inicialização do sistema, mas onde /.autorelabel é detectado, não está claro o que está acontecendo.

Documentos como link só informam como fazer as coisas que ainda realmente faz o trabalho depois de uma reinicialização. Eu preciso ter o trabalho fazendo antes da "reinicialização" (desmontar, construir AMI e lançar pronto para ir).

O ponto principal é ... sim, haverá uma reinicialização ... mas quero que o trabalho de reclassificação seja feito antes para que não seja feito toda vez que uma AMI for lançada (porque demora tanto) .

    
por Skaperen 28.11.2012 / 19:41

2 respostas

0

Se você estiver copiando arquivos de um sistema de arquivos para outro, você pode:

  • Se estiver usando cp , adicione a opção -c para copiar o contexto do SELinux.
  • Se estiver usando tar , adicione a opção --selinux para copiar o contexto do SELinux.

Isso pode poupar algum tempo garantindo que os arquivos de destino tenham o contexto esperado, supondo que os contextos estejam corretos para começar.

Quanto a fixfiles , é um wrapper para restorecon , que é o que geralmente uso. Quando /.autorelabel estiver presente, o script de inicialização executará restorecon -p -r / , que imprime os pontos por seis minutos e, em seguida, reinicializa depois. Eu prefiro -v para uma listagem detalhada dos contextos que foram alterados, em vez de -p . De qualquer forma, você deve chroot no sistema de arquivos antes de executar isso.

    
por 30.11.2012 / 03:57
0

O comando fixfiles relabel pode ser usado para re-rotular um sistema de arquivos sem reinicializar. A maioria das pessoas deve ler os avisos na parte inferior do guia de implantação do Centos, que fala sobre re-etiquetando um sistema de arquivos , mas isso não deve ser um problema com uma reinicialização iminente.

    
por 30.11.2012 / 01:45