Samba – Configuration du PDC en backend LDAP

Introduction

Ce document va expliquer la configuration d’un serveur Samba pour pouvoir s’en servir comme source d’authentification pour des utilisateurs sous Windows.

Le stockage des informations se fera dans un annuaire LDAP.

Cela s’applique aussi bien à une distribution Linux, testé sur Debian Sarge & Etch, que sur FreeBSD, testé en 6.2.

 

Prérequis

Il faudra biensûr avoir un serveur LDAP fonctionnel. Pour cela, vous pouvez suivre le document suivant: Configuration SLAPD standard.

Il faudra avoir installé le paquet samba sur Debian ou alors le port samba3 sur FreeBSD.

Comme Samba utilise les comptes systèmes et que nous utiliserons un backend LDAP. Je considère que vous avez suivi ce document: Configuration LDAP du serveur pour la configuration et l’organisation de l’annuaire LDAP, ainsi que le document suivant: Configuration client pour que les comptes utilisateurs soient disponibles localement.

 

Les ajouts dans l’annuaire LDAP

Pour la plupart des informations à ajouter dans le LDAP, Samba s’en occupera de façon automatique ou alors par l’utilisateur les ajoutera en utilisant des commandes fournit par Samba.

Mais pour des questions de rangement, nous allons créer un container dans le LDAP pour stocker tous les comptes « machines ».

Le fichier LDIF sera de la forme suivante:

dn: ou=machines,o=free-4ever,dc=net
objectClass: top
objectClass: organizationalUnit
ou: machines
description: Tous les comptes machines de Samba

C’est à ajouter avec la commande ldapadd, si vous avez un doute sur son utilisation vous pouvez aller lire le document suivant: Utilisation des outils client

Il n’y a pas d’autres informations à ajouter manuellement dans notre serveur LDAP.

Par contre, on va considérer que l’admin que l’on a créé dans le document: Configuration LDAP du serveur va aussi être admin du container machines.

Pour cela, il faut ajouter une ACL au fichier slapd.conf. Cela sera de la forme suivante:

access to dn.subtree="ou=machines,o=free-4ever,dc=net"
                by dn.regex="cn=admin,o=free-4ever,dc=net" write
                by * auth

Par contre Samba doit créer des entrées à la racine de l’annuaire LDAP, maheureusement, il lui faudra donc le login LDAP qui est « root » de la base !

 

Configuration de Samba

Pour cela, nous allons éditer le fichier /usr/local/etc/samba/smb.conf.

Mon fichier est bien commenté, il devra être de la forme suivante:

# le nom de notre groupe de travail
work group = free-4ever
# un commentaire à propos de notre serveur
server string = Europe (Free-4ever.net PDC Server)
# On active le DNS proxy
dns proxy = yes
# on active le Wins
wins support = yes

# Cette combinaison de paramètres sert à définir que ce serveur est PDC
# Notre serveur accepte les logins pour le domaine 
# et gagne toujours l'élection pour être maître.
domain logons = yes
os level = 64
local master = yes
prefered master = yes
domain master = yes
# On se place en mode sécurité par utilisateur
# C'est obligatoire en mode PDC
security = user
# On crypte les mot de passe
encrypt passwords = yes

# On définit qui est administrateur
# Ici, on choisit le groupe "administrateurs"
admin users = @administrateurs

# Pas de roaming des profils
logon path = 
# Le home est sur un serveur qui s'appelle "fichiers"
logon home = \fichiers%U
# le répertoire home sera mis sur la lettre "U" sous Windows
logon drive = u:
# On définit le script standard de connexion
# Ici, ca sera "login_de_l_utilisateur".bat
logon script = %U.bat

# Les paramètres LDAP
# On spécifie quel backend on utilise et comment le joindre
# Ici, on est en LDAP et on met l'URL du serveur
passdb backend = ldapsam:ldaps://ldap.free-4ever.net/
# il faut une connexion SSL pour joindre le serveur LDAP
ldap ssl = on
# Le DN complet du root de l'annuaire LDAP
ldap admin dn = cn=manager,o=free-4ever,dc=net
# Le suffixe de notre annuaire LDAP
ldap suffix = o=free-4ever,dc=net
# Le DN où sont stockés les comptes machines sans le suffixe
ldap machine suffix = ou=machines
# Le DN où sont stockés les comptes utilisateurs sans le suffixe
ldap user suffix = ou=utilisateurs
# Le DN où sont stockés les groupes sans le suffixe
ldap group suffix = ou=groupes
# On synchronise le champ userPassword du LDAP avec le password Windows
ldap passwd sync = yes

# Notre samba fait serveur de temps pour ses clients
time server = yes

# Quelques partages
# Netlogon
# Entre [], on retrouve le norme de partage
# Tel qu'il sera vu par Windows sur ce serveur
[netlogon]
  # Un commentaire sur ce partage
  comment = Repertoire Netlogon
  # Le chemin réel local du partage
  path = /var/lib/samba/netlogon
  # Ce partage n'est pas visible 
  # quand on parcourt le serveur depuis le voisinage réseau
  browsable = no
  # Ce partage est en lecture/écriture
  read only = no
  # Seulement pour les administrateurs.
  # Les utilisateurs ne peuvent que lire leurs scripts
  write list = @administrateurs
  # Quand on créé un fichier, sur le système de fichier Linux, il a ces droits
  create mask = 0644

Voila un fichier smb.conf qui devrait fonctionner parfaitement pour notre PDC.

Il ne reste plus qu’à donner à Samba le mot de passe correspond à notre utilisateur manager. Pour cela, on utilise la commande smbpasswd.

La commande à taper sera la suivante:

smbpasswd -w "very_secret_password"

Attention, le mot de passe sera dans l’historique des commandes tapées !

Après un redémarrage de Samba avec la commande suivante:

/usr/local/etc/rc.d/samba restart

Vous devriez avoir une nouvelle entrée dans l’annuaire LDAP de la forme suivante:

sambaDomainName: FREE-4EVER
sambaSID: S-1-5-21-2494364655-706308583-124660576
sambaAlgorithmicRidBase: 1000
objectClass: sambaDomain
structuralObjectClass: sambaDomain

Cela prouve que Samba a bien un accès lecture/écriture dans notre annuaire LDAP.

 

Mot de la fin

Notre serveur est maintenant configuré en PDC de notre domaine.

Il reste pas mal de chose à faire comme la Configuration du BDC en backend LDAP mais aussi apprendre la Gestion des utilisateurs.

Puis, nous devrons voir la Configuration des clients Windows et la Configuration des clients Linux

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s