<h2>But de ce document</h2>
<p class="spip">Ce document me sert de <strong class="spip">mémo</strong> pour <strong class="spip">Installer et configurer Winbind dans le but d’intégrer Samba dans un domaine contrôlé par un serveur Windows NT</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.</p>

<p class="spip">Je rappelle que <strong class="spip">Winbind</strong> 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.</p>

<h2>Pré-requis</h2>
<p class="spip">Avoir installé et configuré Samba :
<br /></p>
<li> cf mon autre document sur ce sujet : <a href="http://www.coagul.org/article.php3?id_article=177" class="spip_out">http://www.coagul.org/article.php3 ?id_article=177</a>
<h2>Installation de Winbind</h2>
<p class="spip">Paquet à installer :</p>

<p class="spip"><code class='spip_code' dir='ltr'>apt-get install winbind</code></p>

<h2>Configuration de /etc/nsswitch.conf</h2>
<p class="spip">Ce fichier permet d’indiquer le programme qui s’occupe de la gestion des utilisateurs :</p>

<p class="spip">Il faut simplement ajouter <strong class="spip">winbind</strong> et <strong class="spip">wins</strong> comme indiqué dans l’exemple ci-dessous :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>passwd:     compat winbind<br />
group:      compat winbind<br />
shadow:     compat<br />
hosts:      files dns wins<br />
networks:   files<br />
protocols:  db files<br />
services:   db files<br />
ethers:     db files<br />
rpc:        db files<br />
netgroup:   nis</code></div>
<h2>Configuration de /etc/samba/smb.conf</h2>
<p class="spip">Il faut modifier ce fichier, pour prendre en compte Winbind. Voici un exemple de section [global] qui fonctionne :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>[global]<br />
   workgroup = MonDomaine<br />
   security = DOMAIN<br />
<br />
   netbios name = NomDuServeur<br />
   server string = %h server (Samba %v)<br />
<br />
   wins server = 192.0.0.9<br />
 <br />
   idmap uid = 10000-20000<br />
   idmap gid = 10000-20000<br />
   <br />
   winbind separator = /<br />
   <br />
   log file = /var/log/samba/log.%m<br />
   max log size = 1000<br />
   syslog = 0</code></div>
<p class="spip">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 :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>[SAMBA]<br />
   path=/SAMBA<br />
   browseable=yes<br />
   writeable=yes<br />
   valid users=MonDomaine/tony<br />
   admin users=MonDomaine/tony</code></div>
<h2>Ajouter le serveur Samba au contrôleur de domaine Windows</h2>
<p class="spip">Il faut commencer par arrêter le serveur Samba :</p>

<p class="spip"><code class='spip_code' dir='ltr'>/etc/init.d/samba stop</code></p>

<p class="spip">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) :</p>

<p class="spip"><code class='spip_code' dir='ltr'>net rpc join -U root</code></p>

<p class="spip">Et si tout se passe bien, le message suivant doit apparaître :</p>

<p class="spip"><code class='spip_code' dir='ltr'>Joined domain MonDomaine</code></p>

<p class="spip">Ensuite, il faut redémarrer le serveur Winbind et le serveur Samba :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>/etc/init.d/winbind start<br />
/etc/init.d/samba start</code></div>
<h2>Quelques commandes pour vérifier que tout fonctionne</h2>
<p class="spip"><strong class="spip">Remarque</strong> : 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.</p>

<p class="spip">La commande suivante doit donner la liste des utilisateurs du domaine :</p>

<p class="spip"><code class='spip_code' dir='ltr'>wbinfo -u</code></p>

<p class="spip">Celle-ci la liste des groupes du domaine :</p>

<p class="spip"><code class='spip_code' dir='ltr'>wbinfo -g</code></p>

<p class="spip">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 :</p>

<p class="spip"><code class='spip_code' dir='ltr'>getent passwd</code></p>

<p class="spip">La même chose avec les groupes d’utilisateurs :</p>

<p class="spip"><code class='spip_code' dir='ltr'>getent group </code></p>

<p class="spip">Cette commande permet de vérifier qu’un utilisateur particulier est correctement reconnu</p>

<p class="spip"><code class='spip_code' dir='ltr'>wbinfo -a MonDomaine/tony%LeMotDePasse</code></p>

<p class="spip">La commande suivante permet d’afficher les ressources partagées par le serveur Samba « pgdebian » pour l’utilisateur « tony » :</p>

<p class="spip"><code class='spip_code' dir='ltr'>smbclient -L //pgdebian -U tony</code></p>

<p class="spip">Pour finir, il ne reste plus qu’à aller sur un poste client sous Windows et vérifier que tout fonctionne correctement :-)</p>

<h2>Liens pour avoir plus d’informations</h2>
<p class="spip">Le plus complet est certainement le site officiel de Samba :
<br /></p>
<li> <a href="http://us1.samba.org/samba/" class="spip_out">http://us1.samba.org/samba/</a>
<p class="spip">Je conseille particulièrement le chapitre 9 des exemples :
<br /></p>
<li> <a href="http://us1.samba.org/samba/docs/man/Samba-Guide/unixclients.html" class="spip_out">http://us1.samba.org/samba/docs/man/Samba-Guide/unixclients.html</a>
<h2>Historique des modifications</h2>
<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Version</strong></th><th scope='col'><strong class="spip">Date</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td>0.1</td><td>20/12/04</td><td>Création par  <a href="http://www.infosaone.com/" class="spip_out">Tony GALMICHE</a></td></tr>
<tr class="row_odd"><td>0.11</td><td>11/01/05</td><td>Corrections mineures</td></tr>
<tr class="row_even"><td>0.12</td><td>17/01/05</td><td>Suppression du sommaire</td></tr>
</tbody>
</table>