Skip to Content

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 :

  •  cf mon autre document sur ce sujet : http://www.coagul.org/article.php3 ?id_article=177

    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:   nis

    Configuration 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/tony

    Ajouter 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 start

    Quelques 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 :

  •  http://us1.samba.org/samba/

    Je conseille particulièrement le chapitre 9 des exemples :

  •  http://us1.samba.org/samba/docs/man/Samba-Guide/unixclients.html

    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...)