Installation de Winbind pour intégrer Samba dans un Domaine Windows
But de ce document
Ce document me sert de mémo pour Installer et configurer Winbind dans le but d’intégrer Samba dans un domaine contrôlé par un serveur Windows NT. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.
Je rappelle que Winbind permet de récupérer les utilisateurs et les groupes du contrôleur de domaine Windows, pour éviter de gérer plusieurs bases de données d’utilisateurs.
Pré-requis
Avoir installé et configuré Samba :
Installation de Winbind
Paquet à installer :
apt-get install winbind
Configuration de /etc/nsswitch.conf
Ce fichier permet d’indiquer le programme qui s’occupe de la gestion des utilisateurs :
Il faut simplement ajouter winbind et wins comme indiqué dans l’exemple ci-dessous :
passwd: compat winbind
group: compat winbind
shadow: compat
hosts: files dns wins
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nisConfiguration de /etc/samba/smb.conf
Il faut modifier ce fichier, pour prendre en compte Winbind. Voici un exemple de section [global] qui fonctionne :
[global]
workgroup = MonDomaine
security = DOMAIN
netbios name = NomDuServeur
server string = %h server (Samba %v)
wins server = 192.0.0.9
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind separator = /
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
Pour finir, il faut modifier les partages pour ajouter le nom du domaine dans les noms des utilisateurs. Voici un exemple de partage qui fonctionne :
[SAMBA]
path=/SAMBA
browseable=yes
writeable=yes
valid users=MonDomaine/tony
admin users=MonDomaine/tonyAjouter le serveur Samba au contrôleur de domaine Windows
Il faut commencer par arrêter le serveur Samba :
/etc/init.d/samba stop
Voici la commande pour ajouter le serveur Samba au gestionnaire de serveurs du contrôleur de domaine Windows (l’utilisateur root, doit avoir l’autorisation d’ajouter des serveurs au domaine) :
net rpc join -U root
Et si tout se passe bien, le message suivant doit apparaître :
Joined domain MonDomaine
Ensuite, il faut redémarrer le serveur Winbind et le serveur Samba :
/etc/init.d/winbind start
/etc/init.d/samba startQuelques commandes pour vérifier que tout fonctionne
Remarque : Avant de saisir les commandes suivantes, il faut vérifier que le serveur Samba est correctement ajouté dans la liste des serveurs du « gestionnaire de serveurs » du contrôleur de domaine Windows. Si ce n’est pas le cas, il faut peut-être attendre quelques minutes pour que la mise à jour se fasse.
La commande suivante doit donner la liste des utilisateurs du domaine :
wbinfo -u
Celle-ci la liste des groupes du domaine :
wbinfo -g
Celle-ci permet de vérifier que les utilisateurs du domaine sont ajoutés à la liste des utilisateurs du serveur Linux avec les bons uid :
getent passwd
La même chose avec les groupes d’utilisateurs :
getent group
Cette commande permet de vérifier qu’un utilisateur particulier est correctement reconnu
wbinfo -a MonDomaine/tony%LeMotDePasse
La commande suivante permet d’afficher les ressources partagées par le serveur Samba « pgdebian » pour l’utilisateur « tony » :
smbclient -L //pgdebian -U tony
Pour finir, il ne reste plus qu’à aller sur un poste client sous Windows et vérifier que tout fonctionne correctement :-)
Liens pour avoir plus d’informations
Le plus complet est certainement le site officiel de Samba :
Je conseille particulièrement le chapitre 9 des exemples :
Historique des modifications
| Version | Date | Commentaire |
|---|---|---|
| 0.1 | 20/12/04 | Création par Tony GALMICHE |
| 0.11 | 11/01/05 | Corrections mineures |
| 0.12 | 17/01/05 | Suppression du sommaire |

Commentaires
Débutant bloqué
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
Petite rectification : j’ai refait l’install depuis le début pour etre sur de mon coup et cette fois ca ne marche pas.
D’après ce site : http://elricyo.free.fr/ProjetReseau/parti5.htm
Ce serait lié à PAM. Le problème c’est qu’il fournit une solution pour une distribution autre que Debian et que les fichiers de config semblent un peu différents.
Si je trouve une solution sure je donnerai les explication ici.
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
Et je vient de voir que j’avais déjà posté ces lignes un peu plus haut. En fait si elles ne marchaient pas au début c’est parce que winbind ne faisait pas son travail et ne créait pas les comptes samba -> pas de comptes samba, donc pas de synchro avec les comptes UNIX.
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
Pour la création de comptes j’ai ajouté les lignes suivantes dans smb.conf :
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword :* %n\n *Retype\snew\sUNIX\spassword :* %n\n .
add user script = /usr/sbin/useradd %U -d /home/%u -m -s /bin/bash
delete user script = /usr/sbin/userdel -r %U
Par contre le partage home n’est pas correct. J’ai pas encore eu le temps d’aprofondir le problème mois je crois que c’est juste le chemin qui n’est pas bon car si je modifie les lignes pour faire le partage manuellement en indiquant le path du home d’un utilisateur, ca marche.
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
Merci d’avoir donné la solution sur ce forum.
Si tu trouves la solution pour la création des comptes, n’hésite pas à la donner aussi :-)
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
Ca marche !
J’ai réinstallé AD en mettant un vrais nom de domaine de type "nomdedomaine.com" (avant j’avais mis un nom sans extension de type "nomdedomaine").
Je ne sais pas si ca a un rapport mais j’ai l’imprèssion que winbind ne faisait pas son travail avant.
Me rèste plus qu’a voir pour la création automatique des comptes Unix liés (pour avoir un dossier home) mais je pense que c’est pas trop compliqué. Apparement y’a une ligne qui permet de synchroniser les comptes samba et les comptes unix.
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
D’accord, donc si je regarde dans la liste des utilisateurs samba je devrait voir les utilisateurs créés sous Windows, non ?
Si c’est le cas il y a une problème car je ne les voit pas !
Sinon j’ai viré la ligne "obey pam restrictions = yes" et maintenant j’arrive à aller sur mon partage samba depuis windows. Par contre le partage home rèste inaccessible (un peu normal vu que le dossier home de l’utilisateur n’existe pas). Y’a un moyen pour mettre ca en place automatiquement ?
j’ai aussi essayé de faire ca :
adduser test
smbpasswd -a test
smbclient -L //Debian -U test
et j’ai encore "session setup failed : NT_STATUS_LOGON_FAILURE" !
Normal ou pas normal ?
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
Avec Winbind, il n’est pas necessaire d’utiliser de script pour ajouter des utilisateurs à Samba. C’est justement le but de Winbind d’éviter ce travail de duplication des utilsiateurs.
Concernant Wins, je pense que tu as raison, car Win 2000 ne fonctionne pas du tout pareil avec AD. Mon how-to fonctionne avec Win NT, mais je ne l’ai jamais testé avec Win 2000 et AD.
Il est vrai qu’il existe beaucoup de doc sur Internet et j’ai également galéré. Mais chaque configuration est également différente. Je pense que tu auras plus de chance avec une doc utilisant Win 2000 et AD.
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
hum... c’est moi qui comprend rien alors ! lol
Y’a un truc qui me parait pas clair en fait : si le CDP est Windows, on devrait pas utiliser un utilisateur provenant de celui-ci pour accéder aux ressources systèmes (en fait j’ai ajouté un utilisateur samba et fait le test après un redémarrage de samba... et j’ai la même erreur) ?
J’ai trouvé des docs qui ajoutent des lignes :
passwd program = /usr/bin/passwd %u
passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd :*all*authentification*tokens*updated*successfully*
add user script = /usr/sbin/useradd %U -d /home/%u -m -s /bin/sh
delete user script = /usr/sbin/userdel -r %U
C’est ca qui me permetrait de créer automatiquement mes utilisateurs Windows sur Linux et donc utiliser la commande smbclient comme je le faisait ? (j’ai ajouté ces lignes et redémarrer samba mais ca n’a pas l’air de marcher)
Y’a autre chose sur lequel je me pose des questions également, c’est la ligne "wins server = x.x.x.x"... C’est vraiment obligatoire de metre ca de nos jour avec un serveur 2000 en AD ? Je crois savoir que Wins n’est plus utilisé de nos jours (c’est ce qu’on m’a dit à l’école en tout cas)
Désolé pour toutes ces questions mais toutes les docs que j’ai trouvé sur samba/winbind semblent utiliser des démarches plus ou moins différentes les unes avec les autres...
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
Le login administrateur est un login d’un poste Windows et je doute que l’ordinateur Debian soit un poste Windows :-)
Il faut que le login existe sur l’ordinateur à afficher les ressources partagées.
Et pour un poste Linux il faut un utilisateur reconnu par Samba.