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
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
Salut !
J’ai suivit la procédure avec la Sarge (connectée à un controleur W2K Active Directory).
Toutes les commandes passent bien sauf que quand je fait :
smbclient -L //Debian -U administrateur
J’entre bien mon mot de passe et j’obtient : "session setup failed : NT_STATUS_LOGON_FAILURE"
D’autre part j’ai remarqué que si j’entre un mot de passe vide avec ce compte ou un compte bidon je n’ai pas cette erreur et j’ai "Anonymous login successful".
Une idée ?
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
Il faut bien vérifier la configuration de la ligne "passwd : compat winbind" dans "nsswitch.conf" et également la ligne "idmap uid = 10000-20000" dans "smb.conf"
Le PDC est bien un serveur sous Win NT ?
C’est étonnant d’arriver à récupérer les groupes si le serveur Samba n’est pas enregistré sur le PDC.
Autrement, il faut bien penser à toujours regarder les logs sur le PDC Windows ou le poste Samba.
A part ça, je n’ai pas d’autre d’idée.
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
Bonjour à tous d’abord merci pour ce tutorial beaucoup plus clair et comprehensible que les autres que j’ai pu trouver ailleurs. Sinon g tout de même une couille dans le potage : quand je me joint au domaine Windows tout semble se passer nikel , g bien le message qui me dit que mon poste Linux a rejoint le domaine. Mais quand je lui demande de m’afficher la liste des utilisateurs : nada ! Apparemment il a des problemes à importer les users alors que pour les groupes c nikel.. D’autre part je ne trouve pas l’enregistrement DNS associé sur le PDC.. Voila....D’avance merci
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
Un controleur de domaine, permet de centraliser la création des utilisateurs sur un seul ordinateur.
Ce mémo se base sur un controleur de domaine déja existant.
Un serveur Samba peut faire office de controleur de domaine, mais cela dépasse le cadre de ce mémo.
Autrement, si le nombre de postes est très limité, il faut créer les mêmes utilisateurs sur tous les postes y compris sur le serveur Samba.
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
Je n’arrive pas à accéder à mon serveur samba depuis mes Windows XP SP2. Je ne comprends pas ce qu’est un contrôleur de domaine. Mon serveur est le seul alumé 24/24, doit-il obligatoirement être contrôleur ? ou est-ce un des deux Windows, qui étais en premier sur le réseau ? N’y a-t-il pas un moyen d’avoir juste le samba en partage sur tout le réseau interne ?
Merci d’avence de vos éclaircissements...
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
Ouvrir une session sur un poste Linux en utilisant les utilisateurs du domaine NT est quelsque chose que je n’ai encore jamais fait, mais que j’ai l’intention de tester rapidement.
Si j’y arrive je ne manquerai pas de faire un memo sur le sujet, mais en attendant je n’ai pas a réponse et ce memo n’a pas été écrit dans ce but.
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
Bonjour,
Je bloque depuis pas mal de temps sur ce problème :
Je voudrais intégrer un client linux, sur mon réseau NT 4.0. Tout ce que que je désire c’est que mon user puisse se loguer sur le poste linux avec usernmae et password comme sur tout les windobe du réseau.
J’ai donc un poste sous mandrake 10.0, j’ai installer samba et winbind, tout bien configurer. Les test fonctionnent. smbclient, wbinfo -a pour me logguer. Ils récupèrent ma liste de users, et de groupe. Tout va bien en mode console.
Le problème vient au démarrage du poste, a l’écran de connexion. La je vois tou les utilisateurs du domaine, normal. Quand j’essaie de me logger il me dit que mon mot de passe est érroné. Alors que si j essaie avec wbinfo -a username%password sa marche.
Quelqu’un aurait-il une idée, je désespere
merci
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
De rien, c’était plus une précision qu’une correction :o)
Pour info, j’ai vérifié aujourd’hui, si on indique "wins support = yes" on ne peut pas utiliser "wins server= w.x.y.z" (même SWAT indique l’incohérence !).
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
Merci Marian pour ta correction
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
Précision : il n’y a pas contradiction entre les clauses "wins support=no" et "wins server=192.168.2.67" car la première indique à SAMBA s’il doit agir en tant que _serveur_ WINS ou non (ici c’est non), tandis que l’autre lui indique justement vers quel serveur externe envoyer ses requêtes client.
En résumé, SAMBA est ici configuré en tant que client WINS.
Il y aurait effectivement (probable) contradiction si la clause "wins support=yes" avait été utilisée en même temps qu’une clause "wins server=192.168.2.67" (quoiqu’il faudrait tester...)