Samba et synchronisation des mots de passe


#1

Voila j’ai entendu parler qu’il était possible de pouvoir synchroniser les mots de passe entre windows et linux/samba.

En écrivant dans le smb.conf de ma debian :

[quote]passwd programm = /usr/bin/passwd %u
passwd chat = Enter\snew\sUNIX\spassword: %n\n Retype\snew\sUNIX\spassword: %n\n
unix password sync = yes[/quote]

Seulement quelque chose m’échappe, j’ai du mal à comprendre comment linux procède, quel événement lui fait dire qu’il faut changer le mot de passe de samba et de linux.

A vrai dire quand j’essaye de modifier mon mot de passe sous windows XP, je perds automatiquement ma connexion au serveur, et évidemment il me faut saisir l’ancien mot de passe si je veux me connecter à mon serveur Samba, ce qui n’est pas vraiment le but recherché.

Quelqu’un sait-il comment se passe cette synchronisation, comment réussir a changer son mot de passe windows sans que cela ne perturbe le réseau ? pouvoir changer son mot de passe sans que cela demande une modification manuelle au niveau de linux ?


#2

Voir du côté de winbind il me semble.
samba.org/samba/docs/man/Sam … nbind.html


#3

slt,

Oui tout a fait c’est possible, seulement tu es sur du path de ton passwd la ? si ca marche toujours pas passe ajoute “passwd chat debug = yes” pour avoir plus d’info et check le fichier smbd.log


#4

Oui mais Winbind fonctionne avec un serveur NT.

Or j’entends parler de solutions qui ne nécessite pas Winbind et que je n’arrive pas à mettre en oeuvre :

[quote]encrypt passwords / unix password sync / passwd program / passwd chat : configuration des mots de passe. On aura recours aux mots de passes encryptés.
La synchronisation des mots de passe permet la synchronisation entre le mot de passe de l’utilisateur Samba et son compte sur le système Linux. En l’autorisant, on permet à l’utilisateur de modifier son mot de passe à partir de la machine cliente et donc d’un poste client sous Windows.
Enfin passwd program et passwd chat indiquent le programme utilisé pour réaliser cette modification ainsi que le dialogue qui s’établira avec le serveur. Les paramètres par défaut conviennent parfaitement. [/quote]

[quote]Il est ensuite possible de changer le mot de passe de l’utilisateur, à partir de Windows ou bien du serveur Samba grâce à la commande smbpasswd.

Synchronisation entre les mots de passe Windows et Unix
Si sur votre système vous avez besoin d’autoriser l’accès aussi bien au niveau Unix (telnet, rlogin, …) qu’au niveau Samba, alors vous allez devoir gérer au minimum deux listes de mots de passe. L’une étant /etc/passwd et l’autre le fichier smbpasswd. Pour simplifier la gestion de tel environements, Samba vous donne la possibilité de synchroniser les deux listes de mots de passe. Cette synchronisation ne fonctionne que dans le sens Samba vers Unix
Donc, si un utilisateur Windows change son mot de passe depuis le panneau de contrôle de Windows alors le mot de passe de son compte Unix sera aussi modifié. [/quote]

[quote]Synchronisation entre les mots de passe Windows et Unix
Si sur votre système vous avez besoin d’autoriser l’accès aussi bien au niveau Unix (telnet, rlogin, …) qu’au niveau Samba, alors vous allez devoir gérer au minimum deux listes de mots de passe. L’une étant /etc/passwd et l’autre le fichier smbpasswd. Pour simplifier la gestion de tel environements, Samba vous donne la possibilité de synchroniser les deux listes de mots de passe. Cette synchronisation ne fonctionne que dans le sens Samba vers Unix
Donc, si un utilisateur Windows change son mot de passe depuis le panneau de contrôle de Windows alors le mot de passe de son compte Unix sera aussi modifié.

Cette synchronisation ne fonctionne que dans le sens Samba vers Unix
Donc, si un utilisateur Windows change son mot de passe depuis le panneau de contrôle de Windows alors le mot de passe de son compte Unix sera aussi modifié.
[/quote]

Ou encore :

[quote]La synchronisation des mots de passe fonctionnera dans les cas suivants :

Samba est configuré pour permettre les logons sur le domaine et votre Windows 95 ou 98 est configuré pour le faire, vis-à-vis d’un domaine contrôlé par Samba. Alors vous pouvez changer le mot de passe avec l’application «Mot de passe» du panneau de contrôle.
Un utilisateur non-root fait un telnet vers Samba et change son propre mot de passe SMB avec la commande smbpasswd.
Un utilisateur non-root utilise SWAT pour changer son mot de passe propre.
La synchronisation des mots de passe ne marchera pas si root change le mot de passe avec smbpasswd ou SWAT . [/quote]


#5

J’ai effectivement essayé avec le passwd chat debug = yes.
Je me connecte au serveur avec mon compte + ancien mot de passe.
Je vais sous windows XP, comptes d’utilisateur, changer mot de passe.
Et la je perds la connexion, je lis le log.smbd et je ne vois rien de spécial, le fichier log s’arrête avant mon changement de mot de passe, cela signifie certainement qu’il n’y a pas détection de l’événement.


#6

Je crois que vous confondez plusieurs bases de données de mot de passe:
celle de la machine unix qui loge samba (/etc/passwd),
celle du service samba (smbpasswd),
celle des utilisateurs déclarée sur la machine cliente (clic droit sur le poste de travail, gèrer, utilisateurs et groupes locaux),
celle d’un eventuel controleur de domaine (windows ou un autre samba).

Ce qui fonctionne normalement avec les modifs que vous avez faitespasswd programm = /usr/bin/passwd %u passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n unix password sync = yessont suffisantes pour la synchronisation des deux premieres bases.
A priori, pour ajouter des nouveaux utilisateurs sur le serveur, il suffit alors, uniquement sur le serveur, de faire un adduser.

[quote=“lariost”]…
Je vais sous windows XP, comptes d’utilisateur, changer mot de passe.
…[/quote]
Ca, ca va juste modifier le mot de passe de l’utilisateur de la machine XP (qui a le même nom qu’un utilisateur la machine samba, mais c’est un hasard). Donc une fois que tu as changé sur le client, il ne peut plus se connecter car il n’a plus la même mot de passe que sur le serveur.
Si tu veux que le changement de mot de passe executé sur le client se propage sur ton serveur samba, alors, il faut configurer samba en controleur de domaine, et accrocher les clients au domaine.
Un utilisateur du domaine pourra alors changer son mot de passe sur le domaine (donc sur ton linux et tous les autres clients XP appartenant au domaine)


#7

Je te remercie pour tes clarifications.

Effectivement tout tourne autour du contrôleur de domaine, tout se passe bien au niveau de samba, je n’arrivais juste pas a paramétrer mon client et lui signifier le contrôleur de domaine, or je viens de me rendre compte que la connexion à un contrôleur de domaine depuis une station XP home n’est hélas pas possible (seul XP pro le permet).

Donc je suis pour le moment bloqué, je pense que je pourrais faire d’autres tests bientôt avec un XP pro ou autres.