Files
orange-yourdev-login/Notes_pam.md
Michel Decima ccb17c7352 feat: give higher priority to pam_sss module
With default priority (128), pam-auth-update put module pam_sss after
module pam_unix in /etc/pam.d/common-auth, and then a user with a
local account and local password synchronized with AD password will
never be granted a Kerberos TGT on session opening.
2021-10-20 02:54:46 -07:00

2.5 KiB

D'apres PAMConfigFrameworkSpec, pam_sss devrait avoir une priorité

= 512, puisqu'il s'agit d'un profil qui "authenticates against a central network service, with rules to exclude administrative/system accounts". Or sa priorité définie dans /usr/share/pam-configs/sss est 128 ... pourquoi ?

=> chercher dans le bugtracker ?

On dirait vraiment que pam_sss est conçu et configuré pour des utilisateurs qui sont enregistrés dans un LDAP et pas en local (dans ce cas ça marche direct). Moi je veux bien, c'est parfait pour un poste fixe qui est toujours connecté au réseau, mais que se passe-t'il avec un laptop déconnecté, si on n'a pas de mot de passe local ?

On pourrait envisager de désactiver le profil pam_unix, comme cela il ne reste que pam_sss et le problème disparait, mais je soupçonne qu'il va y avoir des effets de bord ;-)

Pour passer pam_sss en premier, il faut augmenter sa priorité. On peut faire cela en modifiant le fichier /usr/share/pam-configs/sss à la volée depuis le postinst avec sed, mais c'est très moche, et cela ne résiste pas à une mise à jour du paquet libpam-sss, il faudrait mettre en place un trigger ou mieux encore un divert ... ça reste du bricolage.

Autre solution, plus propre:

  • ajouter un fichier /usr/share/pam-configs/sss-yourdev, copie de sss
  • modifier sa propriété Name et augmenter la valeur de Priority
  • rajouter une propriété Conflicts: sss
  • dans le postinst, activer sss-yourdev et désactiver sss

Important: ne pas utiliser --force dans les scripts, seulement --package Important: bien verifier uid >= 1000 et users interdits.

Note: les deux profils sss et sss-yourdev sont en conflit, mais leur
propriété Default vaut yes, ce qui a une conséquence particulière
quand on lance pam-auth-update une première fois en mode interactif, sans avoir exécuté la configuration automatique via le postinst, alors les deux profils sont sélectionnés dans le dialogue debconf. Si on valide à ce moment, le dialogue se plaint qu'il y a conflit, et refuse de valider la sélection. Il faut modifier et choisir l'un ou l'autre. Ensuite, le dialogue se souvient du choix qui a été fait.

Références