Disabilitare Selinux senza riavviare il server su Centos

Security-Enhanced Linux (SELinux) è un sistema terribile ma potente che gestisce la sicurezza nei sistemi Linux, precisamente verifica quali sono i permessi degli utenti in relazione all’uso di file, applicazioni ecc ecc. In generale è uno strumento ottimo per la sicurezza ma talvolta conflitta con i tool o le applicazioni che girano sul server, per questo può essere necessario disabilitare selinux.

Come disabilitare selinux

Solitamente selinux può essere disabilitato editando il suo file di configurazione e quindi riavviando il server, in questo caso vediamo come farlo senza riavvio.

Infatti è possibile disabilitare temporaneamente selinux tramite il comando:

#setenforce 0

In questo modo selinux passerà dallo stato “enforcing” a quello “permissive” temporaneamente fino al prossimo riavvio. Cosa significano “enforcing” e “permissive”?  Selinx ha tre differenti modi: enforcing, permissive e disabled:

  • enforcing: selinux è attivo
  • permissive: selinux è attivo ma non funzionante, si limita a scrivere i messaggi di warning sui file di log
  • disabled: selinux disabilitato

Se hai bisogno di riabilitare nuovamente selinux:

#setenforce 1

Qual è lo stato attuale di selinux ?

Se ti interessa sapere in che stato si trova ora selinux, il comando che ti serve è: sestatus 

[root@piggy ~]# sestatus
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
Max kernel policy version: 31

Current mode e Mode from config file possono essere diversi, uno è lo stato che ha selinux in questo momento, l’altro è quello configurato nel file di configurazione di selinux e che tornerà uguale al current mode al prossimo riavvio:

[root@piggy ~]# setenforce 0
[root@piggy ~]# sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: permissive
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31
[root@piggy ~]#
[root@piggy ~]# setenforce 1
[root@piggy ~]# sestatus
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
Max kernel policy version: 31

 

Posso disabilitare selinux in modo permanente?

Si, puoi editando il file di configurazione di selinux

[root@piggy ~]# vim /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 values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

Devi cambiare la voce  “SELINUX=enforcing” e digitare “SELINUX=permissive” o “SELINUX=disabled”. In questo caso la modifica diventerà operativa dopo il prossimo riavvio del server.

Se ti servono più informazioni, eccoti la documentazione ufficiale.

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.