Neste tutorial, você aprenderá o que é o SELinux e como resolver o erro "Failed to load SELinux Policy" que ocorre nos sistemas operacionais CentOS.
Primeiro, vamos dar uma breve descrição do modo de segurança SELinux. O que é isso SELinux e qual o papel que ele desempenha no sistema operacional Linux?
SELinux é um módulo de segurança do kernel, que tem a função de controlar o acesso de aplicativos de software e usuários ao sistema operacional. Lançado em meados de 2000, SELinux tornou-se ao longo dos anos presente em cada vez mais distribuições de Linux.
A actividade deste módulo consiste na distribuição e controlo das políticas de segurança do sistema, limitando o acesso das aplicações ao nível dos principais subsistemas do kernel.
Este mecanismo de segurança funciona de forma independente dos tradicionais sistemas de controle e bloqueio de atividades suspeitas, presentes no Linux. Não pode ser controlado ativamente pelo superusuário "root
” e sem interação com aplicativos ou scripts de terceiros, SELinux fornece estabilidade central.
Segurança de um sistema Linux sem este módulo SELinux dependerá automaticamente da correção da configuração do kernel, dos aplicativos com privilégios de execução e de suas configurações. Um simples erro num destes elementos mencionados anteriormente pode comprometer o correto funcionamento de todo o sistema.
Em conclusão, SELinux pode ser chamado de verdadeiro guardião dos sistemas operacionais Linux, garantindo integridade, segurança e estabilidade. Não confunda este módulo com um antivírus ou firewall. É totalmente diferente.
usuários que executam Linux para servidores web e nuvem eu sei bem que SELinux pode causar problemas na execução de aplicativos de software com acesso ao sistema e privilégios de nível de controle.
SELinux pode controlar as atividades do sistema operacional para cada usuário, aplicativo e daemon em parte e pode aplicar políticas e restrições de segurança precisas. Muitas vezes, isso pode ser um problema para servidores web, onde a maioria dos processos de software específicos têm privilégios e interagem com o kernel do sistema operacional.
Aqueles que decidiram desabilitar este módulo do kernel muitas vezes cometem erros ao modificar as diretivas, o que leva à impossibilidade de carregar SELinux ao reiniciar o sistema operacional. “Failed to load SELinux policy".
Eu mostrei em um artigo como ele pode ser desativado SELinux, para evitar a interrupção do processo colocado pelo serviço NGINX em um servidor web.
# 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=permissive
# 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 (WRONG)
Um erro que cometemos inadvertidamente, e por se tratar de um servidor remoto, a solução foi reinstalação completa do sistema operacional.
Se você tiver um pouco mais de sorte, poderá corrigir SELinux somente se você tiver um DVD em mãos ou a capacidade de carregar a imagem ISO do sistema operacional em "rescue".
Failed to load SELinux Policy é encontrado especialmente nas versões CentOS 6, CentOS 7, RHEL 7.x.
Obrigado pelo artigo, você obteve a causa raiz, mas perdeu uma solução: na verdade, adicionar selinux=0 na entrada do sistema operacional proposta pelo grub é suficiente para desabilitar o selinux e tornar o sistema operacional inicializável novamente.
Obrigado por esta solução!
selinux=0
Acho que na época em que escrevi o artigo, essa opção não estava disponível. Posso estar enganado. Obrigado pela solução!