[ << ]
[ < ]
[ Sommaire ]
[ > ]
[ >> ]
2. Problème de connexion locale
Table des matières :
2.a. Sommaire
Vous devez être dans sysadm_r pour effectuer ces actions.
Lancez sestatus -v et cliquez sur le premier contexte qui ne correspond
pas :
2.b. Le contexte d'init est incorrect
Vérifier l'étiquette d'init
Plusieurs raisons peuvent être à l'origine d'un mauvais contexte pour init.
Tout d'abord, vérifiez qu'init est correctement étiqueté en vous référant au
résultat de sestatus concernant /sbin/init. Si ce n'est pas
system_u:object_r:init_exec_t, ré-étiquetez sysvinit.
Exemple de code 2.1 : Réparer le contexte d'init |
# rlpkg sysvinit
|
Vérifier la disponibilité de la politique
Vous devez être dans sysadm_r pour effectuer cette action.
Une politique binaire doit être disponible dans
/etc/selinux/{strict,targeted}/policy. Si ce n'est pas le cas,
installez la politique.
Exemple de code 2.2 : Installer la politique |
# semodule -n -B
|
Vérifier qu'init peut charger la politique
La dernière vérification consiste à s'assurer qu'init puisse charger la
politique. Exécutez ldd sur /sbin/init et, si libselinux ne
fait pas partie des bibliothèques listées, réinstallez sysvinit.
Exemple de code 2.3 : Vérifier la liaison d'init à libselinux |
# ldd /sbin/init
linux-gate.so.1 => (0xffffe000)
libc.so.6 => /lib/libc.so.6 (0x40035000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
|
Maintenant, redémarrez afin qu'init obtienne le bon contexte et puisse charger
la politique.
2.c. Le contexte d'Agetty est incorrect
Vérifier qu'Agetty est étiqueté correctement. Selon la sortie de sestatus
concernant /sbin/agetty, si le contexte n'est pas
system_u:object_r:getty_exec_t, ré-étiquetez util-linux. Ensuite,
redémarrez tous les Agetty.
Exemple de code 3.1 : Réparer le contexte d'Agetty |
# rlpkg util-linux
# killall agetty
|
Tous les Agetty devraient maintenant se trouver dans le contexte
system_u:object_r:getty_exec_t. Essayez de vous reconnecter à nouveau.
2.d. Le contexte de Login est incorrect
Le programme Login (/bin/login) n'est pas étiqueté correctement.
Ré-étiquetez shadow.
Exemple de code 4.1 : Ré-étiquetez shadow |
# rlpkg shadow
|
Le contexte de /bin/login devrait maintenant être
system_u:object_r:login_exec_t. Essayez de vous reconnecter à nouveau.
2.e. Le contexte de PAM est incorrect
Sshd doit pouvoir utiliser PAM pour authentifier les utilisateurs. Le programme
de PAM qui vérifie le mot de passe (/sbin/unix_chkpwd) doit être
étiqueté correctement afin que Sshd puisse transiter vers le contexte de
vérification du mot de passe. Ré-étiquetez PAM.
Exemple de code 5.1 : Réparer le contexte d'unix_chkpwd |
# rlpkg pam
|
Le contexte du programme de vérification de mot de passe devrait maintenant
être system_u:object_r:chkpwd_exec_t. Essayez de vous reconnecter à
nouveau.
2.f. Les contextes des fichiers de mots de passes sont incorrects
Le fichier passwd (/etc/passwd) et shadow
(/etc/shadow) doivent être correctement étiquetés sinon PAM ne
pourra pas authentifier les utilisateurs. Ré-étiquetez les fichiers.
Exemple de code 6.1 : Réparer les contextes des fichiers de mots de passes |
# restorecon /etc/passwd /etc/shadow
|
Leur contexte devraient maintenant être respectivement
system_u:object_r:etc_t et system_u:object_r:shadow_t. Essayez de
vous reconnecter à nouveau.
2.g. Le contexte de Bash est incorrect
Bash doit être correctement étiqueté afin que l'utilisateur puisse transiter
vers son domaine lors de la connexion. Ré-étiquetez bash.
Exemple de code 7.1 : Réparer le contexte de bash |
# rlpkg bash
|
Bash (/bin/bash) doit maintenant avoir le contexte
system_u:object_r:shell_exec_t. Essayez de vous reconnecter à nouveau.
[ << ]
[ < ]
[ Sommaire ]
[ > ]
[ >> ]
Ce document est protégé par la licence Creative
Commons : Paternité - Partage des Conditions Initiales à
l'Identique 2.5.
|