20.10. Dépannage de l'authentification GSSAPI pour sudo
Si vous ne parvenez pas à vous authentifier auprès du service sudo
à l'aide d'un ticket Kerberos provenant de l'IdM, utilisez les scénarios suivants pour résoudre votre problème.
Conditions préalables
-
Vous avez activé l'authentification GSSAPI pour le service
sudo
. Voir Activation de l'authentification GSSAPI pour sudo sur un client IdM. -
Vous devez disposer des privilèges
root
pour modifier le fichier/etc/sssd/sssd.conf
et les fichiers PAM dans le répertoire/etc/pam.d/
.
Procédure
Si l'erreur suivante s'affiche, il se peut que le service Kerberos ne soit pas en mesure de résoudre le domaine correct pour le ticket de service en se basant sur le nom d'hôte :
Serveur introuvable dans la base de données Kerberos
Dans ce cas, ajoutez le nom d'hôte directement à la section
[domain_realm]
dans le fichier de configuration Kerberos/etc/krb5.conf
:[idm-user@idm-client ~]$ cat /etc/krb5.conf ... [domain_realm] .example.com = EXAMPLE.COM example.com = EXAMPLE.COM server.example.com = EXAMPLE.COM
Si l'erreur suivante s'affiche, vous ne disposez pas d'informations d'identification Kerberos :
Pas d'identifiants Kerberos disponibles
Dans ce cas, récupérez les informations d'identification Kerberos à l'aide de l'utilitaire
kinit
ou authentifiez-vous à l'aide de SSSD :[idm-user@idm-client ~]$ kinit idm-user@IDM.EXAMPLE.COM Password for idm-user@idm.example.com:
Si l'une des erreurs suivantes apparaît dans le fichier journal
/var/log/sssd/sssd_pam.log
, les informations d'identification Kerberos ne correspondent pas au nom d'utilisateur de l'utilisateur actuellement connecté :User with UPN [<UPN>] was not found. UPN [<UPN>] does not match target user [<username>].
Dans ce cas, vérifiez que vous vous êtes authentifié avec SSSD, ou envisagez de désactiver l'option
pam_gssapi_check_upn
dans le fichier/etc/sssd/sssd.conf
:[idm-user@idm-client ~]$ cat /etc/sssd/sssd.conf ... pam_gssapi_check_upn = false
Pour un dépannage supplémentaire, vous pouvez activer la sortie de débogage pour le module PAM de
pam_sss_gss.so
.Ajoutez l'option
debug
à la fin de toutes les entréespam_sss_gss.so
dans les fichiers PAM, telles que/etc/pam.d/sudo
et/etc/pam.d/sudo-i
:[root@idm-client ~]# cat /etc/pam.d/sudo #%PAM-1.0 auth sufficient pam_sss_gss.so debug auth include system-auth account include system-auth password include system-auth session include system-auth
[root@idm-client ~]# cat /etc/pam.d/sudo-i #%PAM-1.0 auth sufficient pam_sss_gss.so debug auth include sudo account include sudo password include sudo session optional pam_keyinit.so force revoke session include sudo
Essayez de vous authentifier avec le module
pam_sss_gss.so
et examinez la sortie de la console. Dans cet exemple, l'utilisateur n'avait pas d'identifiants Kerberos.[idm-user@idm-client ~]$ sudo ls -l /etc/sssd/sssd.conf pam_sss_gss: Initializing GSSAPI authentication with SSSD pam_sss_gss: Switching euid from 0 to 1366201107 pam_sss_gss: Trying to establish security context pam_sss_gss: SSSD User name: idm-user@idm.example.com pam_sss_gss: User domain: idm.example.com pam_sss_gss: User principal: pam_sss_gss: Target name: host@idm.example.com pam_sss_gss: Using ccache: KCM: pam_sss_gss: Acquiring credentials, principal name will be derived pam_sss_gss: Unable to read credentials from [KCM:] [maj:0xd0000, min:0x96c73ac3] pam_sss_gss: GSSAPI: Unspecified GSS failure. Minor code may provide more information pam_sss_gss: GSSAPI: No credentials cache found pam_sss_gss: Switching euid from 1366200907 to 0 pam_sss_gss: System error [5]: Input/output error