Gentoo Logo

[ << ] [ < ] [ 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 :

Processus Contexte
Init context system_u:system_r:init_t
/sbin/agetty system_u:system_r:getty_t
Fichier Contexte
/bin/login system_u:object_r:login_exec_t
/sbin/unix_chkpwd system_u:object_r:chkpwd_exec_t
/etc/passwd system_u:object_r:etc_t
/etc/shadow system_u:object_r:shadow_t
/bin/bash system_u:object_r:shell_exec_t

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)
  libselinux.so.1 => /lib/libselinux.so.1 (0x40025000)
  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 (Ils se relancent tous seuls.)

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 ] [ > ] [ >> ]


Imprimer

Voir tout

Dernière mise à jour le 15 octobre 2006

Résumé : Ce chapitre vous aidera si vous n'arrivez pas à vous connecter en console locale.

Chris PeBenito
Author

Camille Huot
Traducteur

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.