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
Bonjour,
Je sais que c’est faisable, car je connais une société qu’il l’a fait, mais je n’en sais pas plus :-)
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
Bonjour tout le monde,
je me pose une kestion. Winbind recupère bien les groups et users mais est ce kil les stockent ??
Et ils possible de supprimer le serveur Windows après la récupération afin que Samba devienne PDC ???
Quand penses tu ?
Si tu as de la doc , fait me le savoir ???
kiki :)
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
Bonjour,
J’ai un peu étudié ta configuration et je me pose plusieurs questions :
A part ça, je n’ai pas trop d’idées pour te dépanner.
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
Voilà le log log.nt4a (du serveur ou j’ai essayé de me connecter avec l’exploreur en tant que domain administrator)
[2005/02/09 11:19:04, 0] smbd/service.c:make_connection(800)
nt4a (192.168.2.75) couldn’t find service benuzer
Voilà un erreur du log.winbind
[2005/02/09 11:31:37, 1] nsswitch/winbindd_group.c:winbindd_getgrnam(298)
group NT1+Domänen-Admins in domain BOREALIS does not exist
et enfin voilà mon smb.conf
[global]
workgroup = NT1
netbios name = Borealis
server string = %h server (Samba %v)
wins support = no
wins server = 192.168.2.67
dns proxy = no
name resolve order = lmhosts host wins bcast
#### Debugging/Accounting ####
log file = /var/log/samba/log.%m
max log size = 1000
; syslog only = no
syslog = 0
# Do something sensible when Samba crashes : mail the admin a backtrace
panic action = /usr/share/samba/panic-action %d
####### Authentication #######
security = domain
encrypt passwords = true
passdb backend = tdbsam guest
obey pam restrictions = yes
; guest account = nobody
invalid users = root
; unix password sync = no
############ Misc ############
# You may want to add the following on a Linux system :
# SO_RCVBUF=8192 SO_SNDBUF=8192
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
# The following parameter is useful only if you have the linpopup package
# installed. The samba maintainer and the linpopup maintainer are
# working to ease installation and configuration of linpopup and samba.
; message command = /bin/sh -c ’/usr/bin/linpopup "%f" "%m" %s ; rm %s’ &
########### DOMAIN ###############
; domain master = auto
idmap uid = 10000-20000
idmap gid = 10000-20000
template shell = /bin/bash
winbind separator = /
#======================= Share Definitions =======================
[samba]
path = /home/samba/users
browseable=yes
writeable=yes
valid users = NT1/Administrator
admin users = NT1/Administrator
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
Non, il ne faut pas créer les utilisateurs du domaine sur le serveur Linux. C’est le but de Winbind d’éviter ce travail.
Si le serveur Linux est ajouté au domaine (net rpc join) et si toutes les commandes de ce document fonctionnent (wbinfo, getent, smbclient) tout devrait rouler :-)
Concernant la commande « smbclient -L », il ne faut pas indiquer le domaine mais uniquement un utilisateur quelconque du domaine.
> Installation de Winbind pour intégrer Samba dans un Domaine Wi
Pour moi tout marche jusqu’à la ligne
smbclient -L //pgdebian -U tony
Pourquoi ne faut-il pas faire
smbclient -L //pgdebian -U NT1/tony ?
moi j’ai essayé avec NT1/Administrator, mais ca ne marche pas, pourtant wbinfo -a a marché...
Faut-il vraiment créer les utilisateurs du domaine localement ?? Il me semblait qu’avec winbind y’avait plus besoin de le faire, mais là j’ai un doute...