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

    Bonjour

    J’ai installer samba sur une machine linux (centos) et j’ai configuré smb.conf, nsswitch.conf, krb5.conf.

    Tout ça pour intégré le samba dans le domaine AD.

    J’ai reussi d’intégré ma machine linux (samba) dans le AD windows, avec la commande :
    net rpc join -S [moncontrolleurDomain] -U administrateur

    Par contre je n’arrive pas à synchroniser mes utilisateurs et les groupes qui existant dans l’AD.
    Donc les commande : wbinfo -a et wbinfo -g me renvoie :

    Error looking up domain users.

    Donc si quelqu’un peut m’aider à resoudre ce probleme. Sachent de ma coté j’ai fait trop de recherche.....

    Merci

    > Installation de Winbind pour intégrer Samba dans un Domaine Wi

    bonjour a tous

    moi j’ai un un truc vraiment bizare :

    en effet j’arrive bien a voir tous les utilisateurs avec wbinfo -u
    tous les groupes avec wbinfo -g
    mais quand je fait un fait un

    smbpasswd -j slo -r slsv -U administrateur

    ça me dit :
    unable to join domain
    NT_STATUS_ACCESS_DENIED
    je comprend pas pourquoi,

    Débutant bloqué

    il faut pour pouvoir le modifier que tu te log en root
    pour cela tu entre la commande : su

    voila à la suite tu pourra modifier ton fichier à partir de la console ouverte. grace aux outils gedit kwrite vim vi ....
    en espérant avoir donner une réponse a ta question amicalement swann

    > Installation de Winbind pour intégrer Samba dans un Domaine Wi

    J’ai exactement le même problème que toi et ça fait un moment que je cherche sans résultat donc si tu as trouvé la solution j’aimerai beaucoup savoir comment, merçi

    > Installation de Winbind pour intégrer Samba dans un Domaine Wi

    sur debian sarge dans /etc/pam.d
    (en commentaire se trouve la ligne d’origine )

    common-auth :

    #auth required pam_unix.so nullok_secure

    auth sufficient pam_unix.so nullok_secure

    auth sufficient /lib/security/pam_winbind.so

    common-account :

    #account required pam_unix.so

    account sufficient pam_unix.so

    account sufficient /lib/security/pam_winbind.so

    samba :

    @include common-auth

    @include common-account

    @include common-session

    Pour ceux qui veulent en plus se logger en shell :

    common-auth :

    auth required pam_env.so

    auth required pam_mount.so

    auth sufficient pam_winbind.so use_first_pass

    auth sufficient pam_unix.so use_first_pass likeauth nullok_secure

    auth required pam_deny.so

    (LE pam_mount c’est pour monter automatiquement un partage nfs/cifs, vous pouvez donc le retirer )

    > Authentification multi domaines

    Salut Tony,

    merci de ta réponse.
    Malheureusement non, les utilisateurs des 3 domaines ne sont pas les mêmes... Ce sont bien 3 domaines différents avec des utilisateurs différents...
    Je vais continuer à creuser, mais j’ai peur que ce soit infaisable.

    > Authentification multi domaines

    Je ne sais pas trop, car je n’ai jamais travaillé sur plusieurs domaines, mais voici quand-même ce que j’en pense :

  •  A mon avis, cela dépend si les utilisateurs sur les 3 domaines sont les mêmes ou pas (Même login / mot de passe). Winbind se contente de récupérer la liste des utilisateurs du contrôleur de domaine indiqué. Si ce contrôleur contient tous les utilisateurs de tous les domaines, cela devrait fonctionner.
  • Authentification multi domaines

    Salut,

    Merci pour cet article, toute contribution est toujours un acte généreux.

    Je n’ai pas encore testé cela mais je suis confronté à une interrogation à laquelle vous pourrez peut être répondre :
    Un serveur Samba peut il, avec (ou sans...) winbind, permettre l’authentification d’utilisateurs au sein de plusieurs domaines NT ?
    Plus clairement : J’ai une application qui s’appuie sur des partages Samba. Je souhaite que des utilisateurs de 3 domaines NT différents (avec des noms de domaines et des PDC différents sur un même réseau physique) mais appartenant à un groupe donné (déclaré dans chacun de ces 3 domaines), soient autorisés à se connecter aux partages Samba utilisés pour cette application.

    Est ce possible avec Samba et Winbind ?

    > Installation de Winbind pour intégrer Samba dans un Domaine Wi

    Bonjour, pour moi, c’est suffisant, car il n’est pas prévu de se connecter au serveur avec un compte du domaine mais uniquement de pouvoir utiliser les comptes du domaine avec Samba.
    Pour la connexion au serveur, j’ai fais un autre article :
     > http://www.coagul.org/article.php3 ?id_article=306

    > Installation de Winbind pour intégrer Samba dans un Domaine Wi

    Salut,
    ce qui est fait jusqu’à présent est incomplet. Tu t’es juste assuré que windows et samba peuvent travailler ensembles.
    Pour ce qui est de l’authentification, il faut configurer PAM puisque les applications elles s’adressent à PAM.
    C’est expliqué dans les samba HOWTO (un peu long pour cette note).
    Bye