Skip to Content

Connecter un client Samba sur un contrôleur de domaine Samba / OpenLDAP

Ce document me sert de mémo pour connecter un client Samba sur un domaine Samba / LDAP. J’ai effectué cette installation sur Debian Etch, mais il doit être possible d’adapter ce mémo pour d’autres distributions.

But de ce document

Ce document me sert de mémo pour connecter un client Samba sur un domaine Samba / LDAP. J’ai effectué cette installation sur Debian Etch, mais il doit être possible d’adapter ce mémo pour d’autres distributions.

Installation des paquets

Installation :

aptitude install samba samba-common ldap-utils

Configuration de Samba

Exemple de contenu du fichier « /etc/samba/smb.conf »

[global]
workgroup = tetras
security=domain
netbios name = ttlinux2
domain master = no
local master = no
domain logons = no
ldap passwd sync = Yes
passdb backend = ldapsam:ldap://192.168.0.1/
ldap admin dn = cn=admin,dc=tetras,dc=net
ldap suffix = dc=tetras,dc=net
ldap group suffix = ou=Groups
ldap user suffix = ou=Users
ldap machine suffix = ou=Computers
ldap delete dn = Yes
logon path =
logon home =
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
case sensitive = No
default case = lower
preserve case = yes
short preserve case = Yes
dos charset = 850
unix charset = ISO8859-15
dns proxy = No
wins support = yes

### A changer si vous n'utilisez pas ce réseau === >
nt acl support = Yes
msdfs root = Yes
hide files = /desktop.ini/ntuser.ini/NTUSER.*/

[Utilisateurs]
comment = Repertoire commun
browseable = Yes
writeable = Yes
public = no
#write user = toto
path = /Utilisateurs/Fichiers

Connexion du client au domaine

Indiquer à Samba le mot de passe pour accéder au serveur LDAP :

# smbpasswd -w mot_de_passe_ldap

Arrêter le serveur Samba :

# /etc/init.d/samba stop

Rejoindre le domaine :

# net rpc join -U root

Démarrer le serveur Samba :

# /etc/init.d/samba start

Vérifier que le poste client est bien visible sur le domaine :

# smbclient -L ttlinux1 -U root
Password:
Domain=[TETRAS] OS=[Unix] Server=[Samba 3.0.24]

       Sharename       Type      Comment
       ---------       ----      -------
       IPC$            IPC       IPC Service ()
Domain=[TETRAS] OS=[Unix] Server=[Samba 3.0.24]

       Server               Comment
       ---------            -------
...
       TTLINUX1
       TTLINUX2
       TTLINUX3

       Workgroup            Master
       ---------            -------
       MSHOME               METINJECTION
       TETRAS               TTLINUX1

Vérifier que les partages du poste clients sont visibles :

# smbclient -L ttlinux2 -U root
Password:
Domain=[TETRAS] OS=[Unix] Server=[Samba 3.0.24]

       Sharename       Type      Comment
       ---------       ----      -------
       Utilisateurs    Disk      Repertoire commun
       IPC$            IPC       IPC Service ()
Domain=[TETRAS] OS=[Unix] Server=[Samba 3.0.24]

       Server               Comment
       ---------            -------
       TTLINUX2

       Workgroup            Master
       ---------            -------
       TETRAS

Connexion au serveur LDAP

Configuration du fichier « /etc/nsswitch.conf »

Ajouter « ldap » sur les 3 premières lignes du fichier :

passwd:         compat ldap
group:          compat ldap
shadow:         compat ldap

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

Installation et configuration de libnss-ldap

Installation :

# aptitude install libnss-ldap

Configuration :

# dpkg-reconfigure libnss-ldap

  •  URI du serveur LDAP : ldap ://192.168.0.1
  •  Nom distinctif (DN) de la base de recherche : dc=tetras,dc=net
  •  Version de LDAP à utiliser : 3
  •  La base LDAP demande-t-elle une identification : Non
  •  Privilèges LDAP spécifiques pour le superutilisateur ? : Non
  •  Rendre le fichier de configuration lisible et modifiable uniquement par son propriétaire ? : Oui

    Exemple de contenu du fichier « /etc/libnss-ldap.conf » :

    base dc=tetras,dc=net
    uri ldap://192.168.0.1
    ldap_version 3

    Attention : Ce fichier doit être accessible en lecture seule par tout les utilisateurs :

    # chmod 644 /etc/libnss-ldap.conf

    Vérification que les comptes LDAP sont bien reconnus

    Cette commande doit retourner :

  •  La liste des utilisateurs locaux
  •  La liste des utilisateurs du LDAP
  •  La liste des machines du LDAP (commencent par un $)

    # getent passwd

    Autre test d’interrogation du LDAP

    $ id tony
    uid=1006(tony) gid=513(Domain Users) groupes=513(Domain Users),512(Domain Admins)

    Test de connexion au client samba avec un utilisateur du LDAP

    Avant de faire le test, il faut évidemment démarrer le client samba :

    # /etc/init.d/samba start

    Ce test peut-être effectué depuis le client, le serveur ou une autre machine du réseau même situé dans un autre domaine :

    # smbclient -L ttlinux2 -U bt
    Password:
    Domain=[TETRAS] OS=[Unix] Server=[Samba 3.0.24]
    ....

    Historique des modifications

    Version Date Commentaire
    0.1 14/05/08 Création suite à la réinstallation du serveur TTLINUX2
    0.2 31/05/08 Mise en ligne