selinux
selinux

Comment désactiver SElinux sur CentOS 7 et RHEL7

SELinux (Security-Enhanced Linux) est une fonction de sécurité du noyau Linux pour le contrôle d’accès, conçue par la NSA, l’agence de sécurité nationale des États-Unis, il permet aux administrateurs de mieux contrôler les accès au système.

Au cours de ce guide nous allons voir comment désactiver SElinux au niveau de CentOS 7 et RHEL 7. Voici les étapes pour désactiver SElinux :

  1. -Vérifier le statut actuelle de SElinux.
  2. -Désactiver SElinux temporairement
  3. -Désactiver SElinux d’une façon permanente.
  4. -Reboot de la machine
  5. -Vérifier le statut de SElinux

Voyons voir en détail toutes ces étapes .

Vérifier le statut actuelle de SElinux :

Utiliser la commande « getenforce » pour voir l’état de votre SElinux :

[root@server ~]# getenforce
Enforcing

Vous pouvez avoir trois états de SElinux :

  • Enforcing : activé.
  • Permissive : affiche des avertissements au lieu de les appliquer.
  • Disabled : désactivé.

Autre méthode pour voir l’état de SElinux est le fichier /etc/selinux/config :

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

Désactiver SElinux temporairement :

Utiliser la commande setenforce pour le désactiver :

[root@bdd ~]# setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
[root@bdd ~]# setenforce 0
[root@bdd ~]# getenforce
Permissive

ce changement est temporaire, cela veux dire que si vous redémarrer votre machine, le changement est perdu.

Désactiver SElinux d’une façon permanente :

Editer le fichier /etc/selinux/config et changer la valeur de « SELINUX » par disabled :

[root@server ~]# 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=disabled 
# 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

Sauvegarder le fichier et redémarrer la machine.

Vérifier le statut de SElinux :

Après avoir rebooté la machine vérifier l’état de SElinux, il devrait devrait être à l’état Disabled :

[root@server ~]# getenforce
Disabled

[root@server ~]# 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=disabled  
# 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

Voilà vous savez maintenant les deux méthodes pour désactiver SElinux, il faut noté qu’il n’est pas recommandé de le désactiver,  et à le faire  juste dans le cas des diagnostiques pour vérifier si SElinux est à l’origine d’un blocage.