20.7. Activation de l'authentification GSSAPI pour sudo sur un client IdM

La procédure suivante décrit l'activation de l'authentification GSSAPI (Generic Security Service Application Program Interface) sur un client IdM pour les commandes sudo et sudo -i via le module PAM pam_sss_gss.so. Avec cette configuration, les utilisateurs IdM peuvent s'authentifier à la commande sudo avec leur ticket Kerberos.

Conditions préalables

  • Vous avez créé une règle sudo pour un utilisateur IdM qui s'applique à un hôte IdM. Pour cet exemple, vous avez créé la règle idm_user_reboot sudo pour accorder au compte idm_user la permission d'exécuter la commande /usr/sbin/reboot sur l'hôte idmclient.
  • 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

  1. Ouvrez le fichier de configuration /etc/sssd/sssd.conf.
  2. Ajoutez l'entrée suivante à la section [domain/<domain_name>] l'entrée suivante.

    [domain/<domain_name>]
    pam_gssapi_services = sudo, sudo-i
  3. Enregistrez et fermez le fichier /etc/sssd/sssd.conf.
  4. Redémarrez le service SSSD pour charger les modifications de configuration.

    [root@idmclient ~]# systemctl restart sssd
  5. Si vous utilisez RHEL 9.2 ou une version ultérieure :

    1. [Facultatif] Déterminez si vous avez sélectionné le profil sssd authselect :

      # authselect current
      Profile ID: sssd

      Le résultat indique que le profil sssd authselect est sélectionné.

    2. Si le profil sssd authselect est sélectionné, activez l'authentification GSSAPI :

      # authselect enable-feature with-gssapi
    3. Si le profil sssd authselect n'est pas sélectionné, sélectionnez-le et activez l'authentification GSSAPI :

      # authselect select sssd with-gssapi
  6. Si vous utilisez RHEL 9.1 ou une version antérieure :

    1. Ouvrez le fichier de configuration PAM de /etc/pam.d/sudo.
    2. Ajoutez l'entrée suivante comme première ligne de la section auth dans le fichier /etc/pam.d/sudo.

      #%PAM-1.0
      auth sufficient pam_sss_gss.so
      auth       include      system-auth
      account    include      system-auth
      password   include      system-auth
      session    include      system-auth
    3. Enregistrez et fermez le fichier /etc/pam.d/sudo.

Verification steps

  1. Connectez-vous à l'hôte en tant que compte idm_user.

    [root@idm-client ~]# ssh -l idm_user@idm.example.com localhost
    idm_user@idm.example.com's password:
  2. Vérifiez que vous disposez d'un ticket d'attribution de tickets en tant que compte idm_user.

    [idmuser@idmclient ~]$ klist
    Ticket cache: KCM:1366201107
    Default principal: idm_user@IDM.EXAMPLE.COM
    
    Valid starting       Expires              Service principal
    01/08/2021 09:11:48  01/08/2021 19:11:48  krbtgt/IDM.EXAMPLE.COM@IDM.EXAMPLE.COM
    	renew until 01/15/2021 09:11:44
  3. (Optional) Si vous ne disposez pas d'informations d'identification Kerberos pour le compte idm_user, détruisez vos informations d'identification Kerberos actuelles et demandez les informations correctes.

    [idm_user@idmclient ~]$ kdestroy -A
    
    [idm_user@idmclient ~]$ kinit idm_user@IDM.EXAMPLE.COM
    Password for idm_user@idm.example.com:
  4. Redémarrez la machine à l'aide de sudo, sans spécifier de mot de passe.

    [idm_user@idmclient ~]$ sudo /usr/sbin/reboot