Este tutorial mostra como voce pode desabilitar o SELinux (Security-Enhanced Linux) no seu servidor CentOS. A versao do CentOS deve ser 7 ou 8. A versao nao importa.

O que e SELinux?

O SELinux e um mecanismo de seguranca controlado diretamente pelo kernel. Ele permite que administradores e usuarios tenham mais controle sobre os acessos com base em politicas SELinux.

O SELinux tem tres modos diferentes de operacao. Aqui estao eles:

  1. Enforcing: Permite acesso baseado nas politicas SELinux e nas regras da politica.
  2. Permissive: O SELinux apenas registra acoes que teriam sido negadas se estivesse rodando no modo enforcing.
  3. Disabled: Nenhuma mensagem e registrada e nao ha mais politica SELinux habilitada no servidor. Na maioria das vezes, o modo disabled e usado em paineis de controle web como cPanel e/ou Plesk.

Pre-requisitos

Apenas o usuario root ou um usuario com privilegios sudo pode atualizar o modo SELinux.

Verificar o Modo SELinux

Voce pode ter certeza sobre o status do SELinux com o comando "sestatus". A saida mostra que o SELinux esta habilitado e o modo definido como enforcing.

SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Memory protection checking:     actual (secure)
Max kernel policy version:      31

Desabilitando o SELinux

Eu recomendo fortemente mudar o modo para permissive. As vezes, algumas aplicacoes nao gostam do SELinux e exigem o modo disabled.

Para mudar permanentemente o modo SELinux de enforcing para disabled, primeiro, voce deve usar seu editor de texto como vi ou nano.

Abra o arquivo /etc/selinux/config e altere o valor de SELINUX para disabled na 6a linha como abaixo:

# Este arquivo controla o estado do SELinux no sistema.
# SELINUX= pode receber um destes tres valores:
#  enforcing - A politica de seguranca SELinux e aplicada.
#  permissive - O SELinux imprime avisos em vez de aplicar.
#  disabled - Nenhuma politica SELinux e carregada.
SELINUX=disabled
# SELINUXTYPE= pode receber um destes tres valores:
# targeted - Processos alvo sao protegidos,
#  minimum - Modificacao da politica targeted. Apenas processos selecionados sao protegidos.
#  mls - Protecao Multi Level Security.
SELINUXTYPE=targeted

Agora voce pode salvar o arquivo e sair do editor de texto. Hora de reiniciar o servidor:

sudo reboot

Controle Final do Status do SELinux

Agora, devemos ter certeza de que o SELinux foi desabilitado com sucesso no servidor. Execute o comando "sestatus" novamente, a saida deve ficar assim:

SELinux status:                 disabled

Conclusao

Agora voce pode alterar os modos do SELinux para aquele que e adequado para voce ou que voce precisa. O SELinux e um mecanismo de seguranca que implementa controle de acesso obrigatorio (MAC). O SELinux vem no modo enforcing por padrao em sistemas CentOS7 e CentOS8. Ele pode ser modificado editando o arquivo de configuracao e reiniciando o servidor.

Voce pode acessar mais informacoes sobre o SELinux nas paginas do CentOS SELinux.