Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/09/2010, à 14:40

tophe59760

PAM.D + authentification LDAP rien ne va !!!!

Bonjour,

J'essaye désespérément depuis plusieurs jours de me logguer via une machine sous XP pro dans un domaine samba via un utilisateur LDAP.

J'ai suivi à la lettre les différents tutoriels sur le net conseillant de modifier le nsswitch.conf, les fichiers du dossier pam.d et malgré tout cela, la commande getent passwd me renvoie inlassablement mes utilisateurs locaux alors que lorsque j'interroge directement l'annuaire avec la commande ldapsearch, celui-ci me répond.

J'utilise ubuntu server 10.04

J'ai utilisé entre autre ce tutoriel :

http://aternatik.org/articles-et-ressources/ldap-17/Authentification-LDAP,035

ce qui est étrange , c'est suite à cette commande :

apt-get install  libnss-ldap libpam-ldap ldap-utils nscd

tous les paquets se sont installés mais je n'ai pas le fichier libnss-ldap.conf dans le dossier /etc est-ce normal ??

sinon j'ai alterné dans le nsswitch.conf les lignes :

passwd:         compat ldap
group:          compat ldap
shadow:         compat ldap

ou

passwd:         files ldap
group:          files ldap
shadow:         files ldap

j'avoue que je n'ai pas compris la différence mais dans les tuto une fois c'est l'un, une fois c'est l'autre.

Je débute dans le monde linux, j'avoue que je suis déconcerté et légèrement agacé par le nombre imposants de méthodes et tutoriels divers qui sont pour la plupart pas conçu pour les débutants.

exemple toujours en se basant sur le lien ci-dessus qui m'a servi de référence :

il est dit :

"Modifier les fichiers suivant :"

/etc/pam.d/common-account :

account         required        pam_unix.so
account         sufficient      pam_ldap.so

qu'est-ce qu'on fait avec ces lignes ??? on les ajoute à celles déjà existentes ? ou on modifie les lignes ?

Cette question va en faire rire plus d'un mais il aurait été plus didactique de faire un "avant" et un "après", j'ai enseigné par le passé et faire une documentation claire et accessible n'est pas simple et demande de nombreux détails pour expliquer une manipulation.

moi dans mon common-account d'origine, j'ai :

account    [success=3 new_authtok_reqd=done default=ignore]    pam_unix.so
account    [success=2 new_authtok_reqd=done default=ignore]    pam_winbind.so
account    [success=1 default=ignore]    pam_ldap.so

je fais quoi ???

j'efface ce qu'il y a entre crochets et je remplace par required ou sufficient selon le cas ???
j'efface la ligne pam_winbind.so ???

merci pour ceux qui prendront le temps de m'expliquer clairement comment faire.

Hors ligne

#2 Le 01/09/2010, à 16:01

tophe59760

Re : PAM.D + authentification LDAP rien ne va !!!!

Je viens de tester le tutoriel apparemment réputé de "damstux"

http://damstux.free.fr/wiki/index.php?title=PDC_Samba_et_LDAP

Dans celui-ci, il n'est même pas question de modifier les fichiers du dossier pam.d alors que faire et quelle méthode suivre ????

Hors ligne

#3 Le 01/09/2010, à 17:59

chopinhauer

Re : PAM.D + authentification LDAP rien ne va !!!!

tophe59760 a écrit :

Dans celui-ci, il n'est même pas question de modifier les fichiers du dossier pam.d alors que faire et quelle méthode suivre ????

Pas tous les tutoriels sont complets et vu la variété de distributions Linux, pas tous s'adaptent bien à un système Ubuntu.

Pour ce qui concerne PAM et NSS, Linux comme tout système d'exploitation a besoin d'une base de données pour retenir les noms d'utilisateur (et certain détails) et les mots de passe (plus les noms d'ordinateur, domaine, services Internet, etc…)

NSS (qui existe sur les autres UNIX aussi) permet d'utiliser d'autres méthodes de sauvegarde des noms d'utilisateur (et groupe) et mot de passe que les traditionnels fichiers /etc/passwd et /etc/shadow.

passwd:         files ldap
group:          files ldap
shadow:         files ldap

dit de vérifier d'abord les fichiers traditionnels et après la base de données LDAP. L'ordre est important pour pouvoir se logguer comme root (ou un utilisateur privilégié sous Ubuntu) même si LDAP est en panne.

compat est une pseudo-base de données qui te permet de garder la compatibilité avec une vieille version de NIS, sur un système moderne files marche aussi bien.

NSS permet de lire (mais pas écrire) les mots de passe, c'est pour cela que t'auras besoin en plus d'utiliser pam_ldap, c'est lui qui va te permettre de modifier ton mot de passe via la commande classique passwd ou l'interface GNOME (gnome-about-me).

Dernière modification par chopinhauer (Le 01/09/2010, à 18:03)


Pensez à donner un bon titre à vos sujets : cela permettra d'aider d'autres utilisateurs dans votre même situation. Ce n'est pas qu'en donnant des solutions qu'on aide, mais aussi en posant des bonnes questions et… facilement trouvables.

Hors ligne

#4 Le 02/09/2010, à 09:49

tophe59760

Re : PAM.D + authentification LDAP rien ne va !!!!

Bonjour chopinhauer et merci à toi de m'avoir répondu.

Merci de me donner un peu de détails sur les différentes entrées (compat, nis, ldap, ...) et leurs effets dans le fichier nsswitch.conf

Donc à priori, "files" suivi de "ldap" devrait faire l'affaire

A la différence de pas mal de tuto lus, mon ldap ne se trouve pas sur la même machine que mon linux/samba, cela a-t-il une incidence ??

Les users doivent juste pouvoir se logguer sur le domaine avec leur identifiant et mot de passe LDAP afin d'avoir accès à un poste public pour accéder à un internet.

Si je comprends bien, je n'ai donc pas besoin de PAM ??

En aucun cas, il n'est nécessaire qu'ils puissent changer leur mot de passe LDAP via le poste XP. J'ai juste besoin qu'ils s'identifient sur un poste xp relié au domaine samba.

Peux-tu toi ou quelqu'un d'autre me guider un peu plus s'il te (vous) plait ?

Y a-t-il des commandes à ajouter au smb.conf pour mon cas afin d'indiquer à samba que l'identification se fait en plus vers un LDAP situé sur un autre serveur ?

Hors ligne

#5 Le 02/09/2010, à 15:10

chopinhauer

Re : PAM.D + authentification LDAP rien ne va !!!!

tophe59760 a écrit :

Merci de me donner un peu de détails sur les différentes entrées (compat, nis, ldap, ...) et leurs effets dans le fichier nsswitch.conf

files utilise les fichiers /etc/passwd et /etc/shadow, nis c'est un système de Single Sign On utilisé par UNIX (un peu comme les domaines de Windows), compat fait un mélange des deux en utilisant un syntaxe étendue pour /etc/passwd et /etc/shadow: cela assure la compatibilité d'un système antérieur à NSS. ldap utilise un serveur LDAP et est configuré dans /etc/libnss-ldap.conf

tophe59760 a écrit :

A la différence de pas mal de tuto lus, mon ldap ne se trouve pas sur la même machine que mon linux/samba, cela a-t-il une incidence ??

Non, aucune incidence, il suffit de mettre l'adresse du serveur dans /etc/lbnss-ldap.conf à la place de 'localhost'. Par contre le schéma du serveur LDAP à utiliser est bien spécifique et décrit dans RFC 2307 avec des exemples d'entrées dans /usr/share/doc/libnss-ldap.

Ton serveur LDAP est indépendant ou est une partie d'un service Microsoft plus large?

tophe59760 a écrit :

Si je comprends bien, je n'ai donc pas besoin de PAM ??

Non, PAM sera utilisé par le système en cachette, mais ce sera la composante de compatibilité NSS à laquelle on fera appel. Donc PAM n'a pas besoin d'être reconfiguré.

tophe59760 a écrit :

En aucun cas, il n'est nécessaire qu'ils puissent changer leur mot de passe LDAP via le poste XP. J'ai juste besoin qu'ils s'identifient sur un poste xp relié au domaine samba.
Y a-t-il des commandes à ajouter au smb.conf pour mon cas afin d'indiquer à samba que l'identification se fait en plus vers un LDAP situé sur un autre serveur ?

Tout dépend de ce que tu veux faire de précis. Avec la configuration NSS/PAM que t'as fait les utilisateurs LDAP devient utilisateurs UNIX de première classe: ils peuvent se logguer sur la machine, ne console ou via ssh, aussi bien que s'ils étaient ajoutés avec la commande adduser.

Samba s'authentifie par défaut contre la base de donnée locale (NSS/PAM), donc va utiliser LDAP si t'as configuré LDAP dans nsswitch.conf (Correction: vu la différence de la manière comme UNIX et Windows font l'authentification, Samba ne pourra pas utiliser NSS/PAM mais une base de données locale propre. Samba utilisera NSS/PAM juste pour trouver un utilisateur UNIX qui correspond à l'utilisateur Windows connecté.)

Par contre si tu veux utiliser la machine seulement pour un partage du disque, tu veux probablement remettre NSS/PAM comme il était et demander à Samba (et pas le système entier) d'authentifier les utilisateurs contre un serveur LDAP (ou un Windows Primary Domain Controller). Dans ce cas tu vas modifier smb.conf mais pas les autres fichiers de configuration.

Remarque: tu peux aussi demander à NSS/PAM de authentifier les utilisateurs contre un Primary Domain Controller via pam_winbind.

Dernière modification par chopinhauer (Le 03/09/2010, à 21:18)


Pensez à donner un bon titre à vos sujets : cela permettra d'aider d'autres utilisateurs dans votre même situation. Ce n'est pas qu'en donnant des solutions qu'on aide, mais aussi en posant des bonnes questions et… facilement trouvables.

Hors ligne

#6 Le 02/09/2010, à 15:35

tophe59760

Re : PAM.D + authentification LDAP rien ne va !!!!

Merci encore à toi  pour tes explications claires et détaillés qui valent tous les tutoriels que j'ai pu lire.

Tu vois depuis le début que je parcours le net, je pensais que je devais absolument utiliser et configurer PAM mais d'après ce que tu me dis, c'est inutile.

Même chose pour NSS finalement, si je comprends bien je n'ai pas besoin de le configurer dans mon cas vu que je n'ai pas besoin que les utilisateurs LDAP s'authentifient sur la machine linux, qu'en dis-tu ?

Ton serveur LDAP est indépendant ou est une partie d'un service Microsoft plus large?

Notre serveur LDAP est indépendant.

Pour te récapituler mon projet, je dois mettre en place une salle internet en libre accès pour les étudiants.

21 postes clients sous windows xp où les étudiants de notre université pourront venir utiliser en libre accès ces ordis moyennant une identification lors de l'ouverture de session XP à l'aide de leur login et mot de passe LDAP qui leur est personnel.

Il faut donc que je crée un domaine samba où je viendrai ajouter les 21 postes, et je dois m'arranger pour que SAMBA vérifie auprès du serveur LDAP si le login et mot de passe qu'à entrer l'étudiant est valide.

D'après ce projet, juges-tu nécessaire d'utiliser malgré tout NSS ou bien quelques lignes dans le smb.conf suffisent ?

Merci à toi

Dernière modification par tophe59760 (Le 02/09/2010, à 15:36)

Hors ligne

#7 Le 02/09/2010, à 23:55

chopinhauer

Re : PAM.D + authentification LDAP rien ne va !!!!

tophe59760 a écrit :

21 postes clients sous windows xp où les étudiants de notre université pourront venir utiliser en libre accès ces ordis moyennant une identification lors de l'ouverture de session XP à l'aide de leur login et mot de passe LDAP qui leur est personnel.

Il faut donc que je crée un domaine samba où je viendrai ajouter les 21 postes, et je dois m'arranger pour que SAMBA vérifie auprès du serveur LDAP si le login et mot de passe qu'à entrer l'étudiant est valide.

D'après ce projet, juges-tu nécessaire d'utiliser malgré tout NSS ou bien quelques lignes dans le smb.conf suffisent ?

Cela dépend beaucoup de comment évoluera le système. J'imagine que le serveur LDAP contiendra les comptent Windows des étudiants créés par magie (la base de données de l'administration? Service informatique central de l'université?).

Si tu suis le tutoriel sur damstux pour la configuration de Samba (smb.conf) les comptes UNIX et répertoire maison UNIX sur le serveur seront crées “à la volée” par le script 'add user script' ('smbldap-useradd') lors du premier login des étudiants.

Sans NSS et PAM configurés pour utiliser LDAP, les informations relatives à ces logins seront sauvegardés dans les fichiers /etc/passwd et /etc/shadow du serveur au lieu du serveur LDAP. Si un jour certaines machine XP seront converties en Ubuntu (ou en dual boot) il faudra migrér les informations dans le fichiers locaux vers le répertoire LDAP.

Pour ce qui concerne le fichier de configuration smbldap.conf du tutoriel, je mettrais peut-être userLoginShell="/bin/false" pour empêcher aux étudiants plus entreprenants d'essayer de se logguer sur le serveur.

PS: J'ai probablement parlé trop tôt sur la possibilité d'utiliser des comptes Samba sans un compte UNIX sous-jacent (ce qui limiterait les abus de la part des étudiants sur la machine Linux): cf. la liste Samba.


Pensez à donner un bon titre à vos sujets : cela permettra d'aider d'autres utilisateurs dans votre même situation. Ce n'est pas qu'en donnant des solutions qu'on aide, mais aussi en posant des bonnes questions et… facilement trouvables.

Hors ligne

#8 Le 03/09/2010, à 09:53

tophe59760

Re : PAM.D + authentification LDAP rien ne va !!!!

Cela dépend beaucoup de comment évoluera le système. J'imagine que le serveur LDAP contiendra les comptent Windows des étudiants créés par magie (la base de données de l'administration? Service informatique central de l'université?).

Non tous les étudiants qui viendraient utiliser les postes informatiques de cette salle auraient déjà leur compte de crée sur le LDAP. En fait dès qu'un étudiant s'inscrit chez nous pour un cursus scolaire, il y a des opérateurs de saisie qui s'occupent de créer les comptes LDAP des étudiants.

Donc en fait lorsque l'étudiant viendrait utiliser la machine XP, il n'y a qu'une "simple" lecture de la base LDAP afin que celui-ci donne l'autorisation à Samba d'ouvrir la session windows.

Il me faut utiliser quel module au final pour cette utilisation d'après toi ?

Aucune évolution n'est prévu, pas de double boot ni de migration vers linux.

Il y aura sans doute également des personnes externes à l'établissement qui viendraient utiliser les postes informatiques. Pour ceux-la (la minorité), je leur créerai au cas par cas un login et un mot de passe dans la base /etc/passwd

Donc au final, samba devra effectuer une double vérification : à la fois dans le fichier /etc/passwd (si c'est un utilisateur externe à l'université) et à la fois dans le LDAP si c'est un étudiant.

Merci beaucoup

Hors ligne

#9 Le 03/09/2010, à 21:12

chopinhauer

Re : PAM.D + authentification LDAP rien ne va !!!!

tophe59760 a écrit :

Donc en fait lorsque l'étudiant viendrait utiliser la machine XP, il n'y a qu'une "simple" lecture de la base LDAP afin que celui-ci donne l'autorisation à Samba d'ouvrir la session windows.

Samba aura besoin en plus de créer un utilisateur UNIX qui correspond à l'utilisateur Windows/Samba: l'étudiant va se logguer en utilisant le compte Windows et les méthodes Windows, tandis que ces fichiers seront sauvegardés en utilisant l'identité UNIX.

Les deux systèmes Windows et UNIX sont suffisamment différents (UNIX utiliser des nombres UID/GID, Windows des suites de nombres appelée SID) pour que ce deux comptes soit séparés. Les informations du compte Windows seront sauvegardés dans LDAP (par l'opérateur) et les informations du compte UNIX dans /etc/passwd ou LDAP selon si tu veux configurer NSS/PAM.

Au final la méthode utilisée change peu. J'aurais une préférence pour LDAP, car c'est plus pratique si dans le futur quelque chose change (deuxième salle, etc.). Cependant la méthode /etc/passwd est aussi valable.

Regarde les chapitres 11 et 14 du HOWTO Samba pour plus d'information sur l'authentification Samba et la correspondance compte Windows et UNIX.

tophe59760 a écrit :

Il y aura sans doute également des personnes externes à l'établissement qui viendraient utiliser les postes informatiques. Pour ceux-la (la minorité), je leur créerai au cas par cas un login et un mot de passe dans la base /etc/passwd.

Il faudra leur créer aussi une entrée dans la base de donnée LDAP pour qu'ils aient un compte Windows (il y avait une erreur dans un de mes posts précédents).

Dans la documentation (chapitre 11) ils disent que avant Samba 3.0.23 c'était possible d'utiliser plusieurs backend de authentification au même temps, cela n'est plus possible.


Pensez à donner un bon titre à vos sujets : cela permettra d'aider d'autres utilisateurs dans votre même situation. Ce n'est pas qu'en donnant des solutions qu'on aide, mais aussi en posant des bonnes questions et… facilement trouvables.

Hors ligne