Erro ao iniciar o Oracle Linux apos desativação do SELinux - "FAIL TO LOAD SELINUX POLICY. FREEZING."

A vida de um DBA não se restringe apenas ao Banco de Dados e muitas vezes envolve várias atividades relacionadas a infraestrutura, SO, redes, etc..

Hoje estarei abordando um erro que pode ocorrer ao se realizar uma desativação inadequada do SELinux no arquivo /etc/selinux/config. O erro será simulado em um ambiente Oracle Linux Server 7.2 64 bits e pode ocorrer em praticamente todas as distribuições Linux.

Vamos ao cenário...Após reiniciar a máquina (neste caso uma maquina virtual), a mesma não estava iniciando, e ficava apenas  na tela de carregamento, conforme imagem abaixo.

Para identificar os processos que estão sendo executados em "background" neste processo de carregamento, simplesmente apertei a tecla ESC. Ao realizar este processo, pude constar que o processo de inicialização estava "parado" com a mensagem "Failed to load SELinux policy, freezing." (conforme abaixo), impedindo que ocorre o boot e consequentemente possamos realizar a correção do problema.

Para solucionar este problema, precisamos desabilitar o SELinux corretamente e vamos realizar este processo, editando a configuração do boot. O primeiro passo é realizar um restart da máquina e na tela de boot apertar e tecla E (sublinhado em vermelho na imagem abaixo) para realizar a edição da configuração de boot.

Após pressionar a tecla E, será possível editar as configurações de boot. Para aplicar a correção para nosso problema, devemos ir até a linha que inicia em "linux16" ou algo parecido e adicionar o parâmetro "selinux=0" junto aos demais parâmetros. Para isso, utilizamos as "setas" do teclado.

Após inserir o comando "selinux=0", basta reiniciar a maquina usando as novas configurações, pressionando as teclas CTRL+X. Feito isso, a maquina será reiniciada e realizará o boot normalmente.

Assim que o ambiente iniciou, verifiquei a configuração atual do arquivo /etc/selinux/config, para identificar o erro.
 [root@ora11g ~]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=disabled 
Podemos verificar que neste caso o erro ocorreu devido a desativação incorreta do SELinux, uma vez que, para realizar este processo devermos alterar o parâmetro SELINUX=disabled e manter  o parâmetro SELINUXTYPE=targeted. No caso acima o SELINUXTYPE foi alterado incorretamente.

Vamos ajustar conforme abaixo evitando assim que tenhamos algum problema em um novo reboot da máquina.
[root@ora11g ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

Fonte: http://www.linuxforums.org/forum/newbie/184761-boot-error-failed-load-selinux-policy.html

Comentários

Postar um comentário