PAM + Ldap => quelques questions

Hello,

J’ai plusieurs petites questions concernant une archi que je mets actuellement en place.

Tout d’abord, le contexte : 2 machines, dont l’une a une base LDAP synchronisée (en temps réel) sur la première. Pour l’instant j’ai 2 bind (primaires les 2) qui sont synchro avec LDAP, ça marche au poile. J’aimerais maintenant synchroniser PAM sur ldap, de façon à pouvoir aussi bien interroger directement PAM que LDAP.

Où j’en suis : La partie LDAP est bonne, dans le sens où j’ai quelques comptes qui y figurent (ainsi que les groupes), qui n’apparaissent pas dans /etc/passwd. Un gentent passwd me renvoi bien tous les comptes figurant sur la machine, mais aussi dans mon ldap. Lorsque je me connecte pour la première fois depuis un compte déclaré dans LDAP, le mkdir du homedirectory se créé bien et mon user s’y colle bien.

Tout semble bien aller, mais c’est loin d’être parfait, c’est là où commencent mes questions :

  1. Quand je me log par exemple avec un user local, je dois tapper 2 fois mon password :

[quote]lab2:~# su test
Password:
Mot de passe :[/quote]

Pourquoi ? A noter que j’ai suivi ce tutorial et que je pense avoir mal interprété la partie sur les module d’authentification qui sont dans le dossier /etc/pam.d/. Par exemple, voici un ou deux fichiers (qui sont faux je pense) :

test@lab2:/etc/pam.d$ cat su

[quote]#%PAM-1.0
auth sufficient /lib/security/pam_ldap.so
auth required /lib/security/pam_unix_auth.so use_first_pass
account sufficient /lib/security/pam_ldap.so
account required /lib/security/pam_unix_acct.so
password required /lib/security/pam_cracklib.so
password sufficient /lib/security/pam_ldap.so
password required /lib/security/pam_pwdb.so use_first_pass
session required /lib/security/pam_unix_session.so
@include common-auth
@include common-account
@include common-session
@include common-password[/quote]

test@lab2:/etc/pam.d$ cat login

[quote]#%PAM-1.0
auth required /lib/security/pam_securetty.so
auth required /lib/security/pam_nologin.so
auth sufficient /lib/security/pam_ldap.so
auth required /lib/security/pam_unix_auth.so try_first_pass
account sufficient /lib/security/pam_ldap.so
account required /lib/security/pam_unix_acct.so
password required /lib/security/pam_cracklib.so
password required /lib/security/pam_ldap.so
password required /lib/security/pam_pwdb.so use_first_pass
session required /lib/security/pam_unix_session.so
#session optional /lib/security/pam_console.so[/quote]

test@lab2:/etc/pam.d$ cat ssh

[quote]#%PAM-1.0
auth required /lib/security/pam_nologin.so
auth sufficient /lib/security/pam_ldap.so
auth required /lib/security/pam_unix_auth.so try_first_pass
account sufficient /lib/security/pam_ldap.so
account required /lib/security/pam_unix_acct.so
password required /lib/security/pam_cracklib.so
password sufficient /lib/security/pam_ldap.so
password required /lib/security/pam_pwdb.so use_first_pass
session required /lib/security/pam_unix_session.so
@include common-auth
@include common-account
@include common-session
@include common-password[/quote]

j’ai l’impression que je dois m’authentifier une première fois sur PAM et une autre sur LDAP… Je dois m’être emmêlé les pinceaux avec les attributs required ou sufficient. Ça semblerait logique dans la mesure où quand je me logue depuis mon user LDAP, là je n’ai qu’à tapper mon password une fois.

  1. Le mkdir du homedirectory se fait tout seul à la première utilisation de mon compte déclaré dans ldap, ça c’est cool. Par contre, quand je supprime ce compte de ldap, bah le homedirectory n’est pas supprimé. En soit ça ne me choque pas trop, mais je trouve pas très propre de devoir le faire à la main, quelqu’un aurait-il une astuce pour automatiser cette tâche aussi ?

Merci !

Salut,

Pourquoi poser des questions techniques dans “pause café” plutôt que dans Support Debian ?

[quote=“ggoodluck47”]Salut,

Pourquoi poser des questions techniques dans “pause café” plutôt que dans Support Debian ?[/quote]
Parceque quand j’ai poser des questions explicitement sur bind dans Support Debian, on m’a gentiment fait savoir que ça avait plutôt sa place dans PC, étant donné que ça n’a pas de lien direct avec du support purement Debian. Donc j’ai appris la leçon et maintenant je poste ici, voilà tout …

Oui ben c’est du support tout de même, je laisse un traceur pour quelque temps.

Pour ta question, je ne peux pas répondre, je n’ai vu que peu de questions sur LDAP et personnellement utilise NIS donc ne peux guère t’aider là dessus.

si tu prends par exemple ton fichier /etc/pam.d/su

tu as ajouté des appels à ldap.so mais aussi des appels à unix.so. alors que ce fichier (su) fait deja appel à common-auth qui contient deja un appel à unix.so.

donc soit tu met tes appels à ldap.so dans les fichiers commom-, soit tu enleve l’appel à ces fichiers commom-. mais en l’occurence ici tu appel deux fois unix.so donc c’est peut être pour ça qu’il demande deux fois le mot de passe.

il vaut mieux laisser tels quels les fichiers et ne toucher qu’aux fichiers commom-. tu es ainsi sur te toucher tous els types d’authentification de la machine (su, login, …) enfin tous ceux qui font appel aux fichiers common-

quand à ton home-directory, pam est connecté à ldap, mais ldap ne sait pas forcement qui se connecte à lui. à toi de créer un script qui supprime l’utilisateur de ldap et ses profils des autres applis en même temps. ldap n’est là quel pour l’authentification le reste il s’en fout.

merci pour cette réponse :slightly_smiling: