SELinux: alterando manualmente os arquivos em / etc / selinux / targeted / contextts / files /

4

Estou configurando um servidor do CentOS 7 no qual o diretório /home deve estar localizado em outra partição e depois montado com o bind-mount. Então: /data/homes deve ser montado por bind em /home .

O problema é garantir que os contextos do SELinux sejam aplicados corretamente. De fato, os seguintes comandos têm resultados conflitantes:

# Applies the rules for /home to all the files
restorecon -R -v /home
# Applies the generic rules (standard files) to all the files
restorecon -R -v /data/homes

Isso está causando problemas se o sistema precisar renomear os arquivos.

Para resolver esse problema, modifiquei o arquivo de políticas /etc/selinux/targeted/contexts/files/file_contexts.homedirs copiando todas as regras também para /data/homes :

$ sed -n '/^\/home/p' /etc/selinux/targeted/contexts/files/file_contexts.homedirs \
  | sed 's/^\/home/\/data\/homes/' \
  >> /etc/selinux/targeted/contexts/files/file_contexts.homedirs

No entanto, quando a política é reconstruída com semodule -B , minhas alterações são perdidas.

Eu sei que a maneira recomendada de modificar esses arquivos é usar semanage fcontext , mas no total há quase 200 regras que eu preciso adicionar, e executar semanage for each não é uma opção.

Como posso alterar manualmente os arquivos em /etc/selinux/targeted/contexts/files/file_contexts e garantir que as alterações sejam mantidas?

    
por ItalyPaleAle 29.01.2016 / 03:54

1 resposta

0

semanage fcontext -a -t <file_context> "<path>/<file>(/.*)?"
restorecon -R <path>/<file>

permite adicionar contextos a vários arquivos de forma recursiva e permanente. Não tenho certeza se você já tentou isso. Você pode fornecer alguns exemplos de regras que você está tentando definir e em quais arquivos para que possamos ver o que é viável para suas necessidades?

    
por 05.03.2017 / 03:20