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.