Chapitre 2. Modifier les états et les modes SELinux
Lorsqu'il est activé, SELinux peut fonctionner dans l'un des deux modes suivants : "enforcing" ou "permissive". Les sections suivantes expliquent comment passer de manière permanente à ces modes.
2.1. Modifications permanentes des états et modes SELinux
Comme indiqué dans les états et modes SELinux, SELinux peut être activé ou désactivé. Lorsqu'il est activé, SELinux dispose de deux modes : "enforcing" et "permissive".
Utilisez les commandes getenforce
ou sestatus
pour vérifier dans quel mode SELinux est exécuté. La commande getenforce
renvoie Enforcing
, Permissive
, ou Disabled
.
La commande sestatus
renvoie l'état de SELinux et la politique SELinux utilisée :
$ 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
Memory protection checking: actual (secure)
Max kernel policy version: 31
Lorsque les systèmes utilisent SELinux en mode permissif, les utilisateurs et les processus peuvent étiqueter de manière incorrecte divers objets du système de fichiers. Les objets du système de fichiers créés lorsque SELinux est désactivé ne sont pas étiquetés du tout. Ce comportement pose des problèmes lors du passage au mode "enforcing", car SELinux s'appuie sur l'étiquetage correct des objets du système de fichiers.
Pour éviter que des fichiers mal étiquetés ou non étiquetés ne causent des problèmes, SELinux réétiquette automatiquement les systèmes de fichiers lorsqu'il passe de l'état désactivé au mode permissif ou exécutoire. Utilisez la commande fixfiles -F onboot
en tant que super-utilisateur pour créer le fichier /.autorelabel
contenant l'option -F
afin de garantir que les fichiers seront réétiquetés au prochain redémarrage.
Avant de redémarrer le système pour le ré-étiquetage, assurez-vous que le système démarrera en mode permissif, par exemple en utilisant l'option de noyau enforcing=0
. Cela empêche le système de ne pas démarrer s'il contient des fichiers non étiquetés requis par systemd
avant de lancer le service selinux-autorelabel
. Pour plus d'informations, voir RHBZ#2021835.