2.4. Activation de SELinux sur des systèmes qui l'avaient précédemment désactivé
Pour éviter des problèmes tels que des systèmes incapables de démarrer ou des défaillances de processus, suivez cette procédure lorsque vous activez SELinux sur des systèmes qui l'avaient précédemment désactivé.
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 incorrectement é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 à l'état renforcé.
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.
Procédure
- Activer SELinux en mode permissif. Pour plus d'informations, voir Passer en mode permissif.
Redémarrez votre système :
# reboot
- Pour plus d'informations, voir Identification des refus SELinux.
Veillez à ce que les fichiers soient réétiquetés lors du prochain redémarrage :
# fixfiles -F onboot
Cela crée le fichier
/.autorelabel
contenant l'option-F
.AvertissementPassez toujours en mode permissif avant d'entrer dans la commande
fixfiles -F onboot
. Cela permet d'éviter que le système ne démarre pas s'il contient des fichiers non étiquetés. Pour plus d'informations, voir RHBZ#2021835.- S'il n'y a pas de refus, passez en mode d'application. Pour plus d'informations, voir Modifier les modes SELinux au démarrage.
Vérification
Après le redémarrage du système, confirmez que la commande
getenforce
renvoieEnforcing
:$ getenforce Enforcing
Pour exécuter des applications personnalisées avec SELinux en mode d'exécution, choisissez l'un des scénarios suivants :
-
Exécutez votre application dans le domaine
unconfined_service_t
. - Rédigez une nouvelle politique pour votre application. Pour plus d'informations, voir la section Rédiger une politique SELinux personnalisée.
Ressources supplémentaires
- La section SELinux states and modes (états et modes SELinux ) couvre les changements temporaires de modes.