Outils pour utilisateurs

Outils du site


commun:authentification_lldap_sssd_client_arch

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
commun:authentification_lldap_sssd_client_arch [2026/07/26 09:22] – [PAM (à faire à la main sur Arch)] francoiscommun:authentification_lldap_sssd_client_arch [2026/07/26 09:28] (Version actuelle) – francois
Ligne 179: Ligne 179:
  
 **Offline** (réseau coupé, vrai login TTY/ssh) — après un login en ligne réussi qui peuple le cache. Voir doc client Debian pour la procédure détaillée et le piège MPG. **Offline** (réseau coupé, vrai login TTY/ssh) — après un login en ligne réussi qui peuple le cache. Voir doc client Debian pour la procédure détaillée et le piège MPG.
 +
 +===== GNOME Keyring : déverrouillage automatique avec LDAP/sssd (CachyOS) =====
 +
 +=== Symptôme ===
 +Après migration vers l'auth LDAP (LLDAP + sssd), le trousseau ne se déverrouille plus au login.
 +Pop-ups en boucle : « The login keyring did not get unlocked » ou « Choose password for new keyring »
 +(déclenchées par toute appli utilisant le Secret Service : Nextcloud, Signal, etc.)
 +
 +Diagnostic dans les logs :
 +<code>
 +journalctl -b | grep -i gkr-pam
 +  → gkr-pam: no password is available for user
 +  → gkr-pam: couldn't unlock the login keyring.
 +</code>
 +
 +=== Cause ===
 +''pam_sss'' authentifie mais **ne transmet pas le mot de passe** aux modules PAM suivants.
 +''pam_gnome_keyring'' n'a donc jamais le mot de passe pour créer/déverrouiller le trousseau ''login''.
 +Aggravé par ''gnome-keyring-daemon'' démarré par le socket systemd user (hors session PAM, sans mot de passe).
 +
 +=== Procédure complète ===
 +
 +== 1. PAM : forward_pass (le fix principal) ==
 +Dans ''/etc/pam.d/system-auth'', ajouter ''forward_pass'' à la ligne auth pam_sss :
 +<code>
 +auth  [success=2 default=ignore]  pam_sss.so  try_first_pass forward_pass
 +</code>
 +
 +⚠ Garder un shell root ouvert (TTY) pendant l'édition d'un fichier PAM.
 +
 +== 2. Vérifier la pile PAM de GDM ==
 +''/etc/pam.d/gdm-password'' doit contenir (présent par défaut) :
 +<code>
 +auth      optional  pam_gnome_keyring.so
 +password  optional  pam_gnome_keyring.so use_authtok
 +session   optional  pam_gnome_keyring.so auto_start
 +</code>
 +
 +== 3. Désactiver le lancement par socket systemd (global, tous utilisateurs) ==
 +Le daemon doit être lancé par PAM, pas par systemd. Poste multi-utilisateurs → mask **global** :
 +<code>
 +sudo ln -s /dev/null /etc/systemd/user/gnome-keyring-daemon.socket
 +sudo ln -s /dev/null /etc/systemd/user/gnome-keyring-daemon.service
 +</code>
 +//(équivalent d'un ''systemctl --user mask'' appliqué à tous les utilisateurs du poste)//
 +
 +== 4. Purger les trousseaux désalignés (par utilisateur) ==
 +Depuis un TTY, session graphique fermée :
 +<code>
 +cd ~/.local/share/keyrings/
 +rm -f *.keyring          # supprime les trousseaux chiffrés avec l'ancien mdp
 +echo -n "login" > default
 +</code>
 +(''user.keystore'' peut rester ; sauvegarder les .keyring avant si secrets à récupérer)
 +
 +== 5. Relogin et validation ==
 +Reconnexion GDM complète (mot de passe LDAP). PAM crée alors ''login.keyring''
 +chiffré avec le mot de passe LDAP et le déverrouille automatiquement.
 +
 +<code>
 +ls ~/.local/share/keyrings/            # login.keyring doit exister
 +journalctl -b | grep -i gkr-pam        # plus de "no password is available"
 +secret-tool store --label=test test k  # stocke sans pop-up de déverrouillage
 +ssh-add -l                             # si keyring utilisé comme agent SSH : doit répondre
 +</code>
 +
 +=== Notes ===
 +  * Étapes 1–3 : une fois par poste. Étape 4 : pour **chaque utilisateur** du poste.
 +  * Ne jamais créer le trousseau ''login'' à la main (Seahorse) : laisser PAM le créer, sinon l'auto-unlock est aléatoire.
 +  * Le mot de passe du trousseau = mot de passe de session, toujours. Synchronisé automatiquement si le changement de mdp passe par PAM.
 +  * Ne pas démasquer les services systemd du keyring : le mask fait partie du fix (sinon le daemon redémarre hors PAM et le conflit revient).
  
 ===== Sécurité ===== ===== Sécurité =====
Ligne 184: Ligne 255:
   * Garder le compte admin local de secours (''beafrancois'') hors LLDAP — accès garanti si l'annuaire est indisponible.   * Garder le compte admin local de secours (''beafrancois'') hors LLDAP — accès garanti si l'annuaire est indisponible.
   * ''offline_credentials_expiration = 0'' (cache illimité) → **LUKS recommandé** sur le portable (un portable volé jamais reconnecté garde l'accès indéfiniment).   * ''offline_credentials_expiration = 0'' (cache illimité) → **LUKS recommandé** sur le portable (un portable volé jamais reconnecté garde l'accès indéfiniment).
 +
commun/authentification_lldap_sssd_client_arch.1785057727.txt.gz · Dernière modification : de francois

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki