Payer des milliers d’euros de licences Microsoft pour gérer des utilisateurs et des machines, alors qu’une alternative open source mature existe depuis 2012 – voilà un paradoxe que beaucoup d’administrateurs système ignorent encore.
Samba Active Directory vous offre exactement les mêmes fonctionnalités qu’un contrôleur de domaine Windows Server, sans débourser un centime de licence. Voici tout ce que vous devez savoir pour le déployer.
Qu’est-ce que Samba Active Directory et à quoi ça sert?
Andrew Tridgell a créé la première version de Samba en décembre 1991 et janvier 1992, alors qu’il était doctorant à l’Université nationale australienne.
L’objectif initial était simple : faire communiquer un PC sous DOS avec un serveur Unix via le protocole SMB. Trente ans plus tard, le projet a radicalement changé de dimension.
La version 4.0, publiée en 2012, marque un tournant décisif : Samba devient capable de fonctionner comme contrôleur de domaine Active Directory à part entière.
Ce n’est plus simplement un serveur de fichiers compatible Windows – c’est une implémentation complète du protocole AD, incluant LDAP, Kerberos, DNS et les GPO.
Concrètement, Samba AD vous permet de centraliser l’authentification de tous vos postes Windows et Linux, de gérer les politiques de groupe, et d’administrer votre parc informatique exactement comme avec un AD Microsoft. La version stable actuelle est la série Samba 4.24.
Quelle est la différence entre Active Directory et Samba?

La question revient souvent : si Samba AD fait la même chose, pourquoi tant d’entreprises restent sur Microsoft ? La réponse tient en trois mots – habitude, intégration, et support commercial. Mais sur le plan technique, les différences sont moins importantes qu’on ne le croit.
| Critère | Microsoft Active Directory | Samba Active Directory |
|---|---|---|
| Coût de licence | Inclus dans Windows Server (plusieurs milliers d’euros) | Gratuit (GPL2) |
| Niveau fonctionnel de forêt | Jusqu’à 2022 | 2008R2 par défaut, partiel jusqu’à 2016 |
| Compatibilité Windows 10/11 | Complète | Complète |
| Conformité NIST 800-171 | Oui | Oui (niveau 2008R2 suffisant) |
| Système d’exploitation requis | Windows Server uniquement | Linux, BSD, macOS, Solaris, AIX |
Le niveau fonctionnel 2008R2, fourni par défaut dans Samba, est suffisant pour administrer des environnements Windows 10 et Windows 11 en conformité avec les exigences NIST 800-171. Pour la plupart des PME et des organisations publiques, cette limitation ne pose aucun problème concret.
Comment installer Samba 4 comme contrôleur de domaine Active Directory sur Linux?
L’installation d’un active directory samba linux repose sur quelques prérequis incontournables. Votre serveur doit avoir un nom d’hôte fixe, une adresse IP statique, et un réseau DNS correctement configuré. Sans ces bases, le provisionnement échouera systématiquement.
Depuis Samba 4.20, MIT Kerberos 1.21 minimum est obligatoire lorsque Samba fonctionne comme DC Active Directory.
Cette exigence a été introduite pour corriger la CVE-2022-37967, une vulnérabilité critique liée à KrbtgtFullPacSignature. Vérifiez votre version de Kerberos avant de commencer.
Les étapes clés du provisionnement sont les suivantes :
- Installer les paquets
samba,krb5-user,winbindetsmbclient - Arrêter et désactiver tous les services Samba existants
- Lancer
samba-tool domain provision --use-rfc2307 --interactive - Renseigner le nom de domaine, le domaine NetBIOS, le niveau fonctionnel et le mot de passe administrateur
- Copier le fichier
krb5.confgénéré vers/etc/krb5.conf - Démarrer le service
samba-ad-dcet tester avecsamba-tool domain info
Une erreur fréquente : laisser le service systemd-resolved gérer le DNS en parallèle. Désactivez-le sur le DC et pointez votre résolveur directement sur l’IP du contrôleur de domaine.
Comment déployer Samba Active Directory sur Debian?

Debian est la distribution de référence pour héberger un samba ad debian en production.
Les versions disponibles dans les dépôts officiels diffèrent selon la branche : Debian Bookworm (oldstable) embarque Samba 4.17.12, tandis que Debian Trixie (stable) propose une version plus récente avec des correctifs de sécurité supplémentaires.
Sur Bookworm, l’installation du rôle DC nécessite le paquet samba accompagné de samba-dsdb-modules et samba-vfs-modules. Attention : le paquet winbind ne doit pas être installé sur le DC lui-même – il est réservé aux membres du domaine.
Une particularité Debian à ne pas négliger : le service se nomme samba-ad-dc et non simplement samba.
Si vous activez le mauvais service, vous démarrez un serveur de fichiers classique, pas un contrôleur de domaine. Le fichier de configuration généré par le provisionnement se trouve dans /etc/samba/smb.conf et ne doit pas être modifié manuellement sans précaution.
Comment déployer Samba Active Directory avec Docker?
Conteneuriser un contrôleur de domaine Samba AD est possible, mais cela demande une attention particulière sur la configuration réseau.
Un DC Active Directory a besoin d’une IP fixe et d’un accès direct au réseau – le mode bridge Docker standard crée des complications avec Kerberos et DNS.
L’approche recommandée est d’utiliser le mode réseau host ou un réseau macvlan pour donner au conteneur sa propre adresse IP sur le réseau physique.
La persistance des données doit couvrir les répertoires /etc/samba, /var/lib/samba et /var/log/samba via des volumes dédiés.
Pour la configuration de base d’un conteneur active directory samba docker, les variables d’environnement à définir sont le nom de domaine, le mot de passe administrateur, le domaine NetBIOS et l’adresse IP du DNS.
Le conteneur doit également avoir accès à l’horloge système via --cap-add SYS_TIME pour que Kerberos fonctionne correctement – une dérive de plus de 5 minutes invalide tous les tickets.
Comment configurer l’authentification Samba Active Directory?

L’samba active directory authentication côté clients Linux repose principalement sur le démon winbind. Ce composant fait le pont entre PAM/NSS et le domaine AD, permettant aux utilisateurs du domaine de se connecter sur des machines Linux avec leurs identifiants Active Directory.
Depuis Samba 4.3.8, les connexions LDAP non chiffrées sont désactivées par défaut. Vous devez donc configurer TLS sur votre DC avant de l’utiliser comme source d’authentification pour des applications tierces.
Le certificat autosigné généré lors du provisionnement suffit pour les tests, mais un certificat signé par votre PKI interne est recommandé en production.
La gestion des tickets Kerberos passe par la commande kinit et le fichier /etc/krb5.conf pointant vers votre DC. Vérifiez régulièrement l’expiration des tickets avec klist. Un ticket expiré bloque silencieusement l’accès aux ressources sans message d’erreur explicite – source classique de tickets de support inutiles.
Comment gérer les GPO avec Samba Active Directory?
Le support des samba active directory gpo pour les clients Linux est disponible depuis la version 4.14. C’est un ajout majeur : vous pouvez désormais appliquer des politiques de configuration aux machines Linux depuis la même console que vos postes Windows.
Samba AD ne traite pas les GPO – il se contente de les stocker comme un serveur de fichiers. N’importe quel GPO Windows peut être défini sur un Samba-AD, car le DC ne fait qu’exposer les fichiers ADMX et les paramètres via SYSVOL. C’est le client qui applique les politiques, pas le serveur.
Le Certificate Auto Enrollment est disponible depuis Samba 4.16, permettant l’inscription automatique des machines dans votre PKI.
Depuis Samba 4.19, la fonction libgpo.get_gpo_list est dépréciée – remplacez-la dans vos scripts par import samba.gp, le nouveau module Python qui offre une API plus robuste et maintenable.
Quels sont les niveaux fonctionnels supportés par Samba 4.19 et supérieur?

Les niveaux fonctionnels déterminent quelles fonctionnalités AD sont disponibles dans votre forêt. Samba fournit le niveau 2008R2 par défaut, ce qui couvre l’immense majorité des besoins des organisations utilisant Windows 10 et Windows 11.
- 2008R2 (défaut) : pleinement supporté, compatible NIST 800-171, Windows 10/11
- 2012 / 2012R2 / 2016 : implémentation partielle disponible depuis Samba 4.19
- Schéma AD 2019 : la base de données est préparée pour ce schéma depuis Samba 4.19, même si le niveau fonctionnel 2016 n’est qu’en implémentation partielle
La distinction est importante : préparer la base au schéma 2019 ne signifie pas que toutes les fonctionnalités 2019 sont disponibles.
Cela garantit la compatibilité future et facilite les migrations, mais certaines fonctionnalités avancées des niveaux supérieurs restent hors de portée pour l’instant.
Quels systèmes d’exploitation sont compatibles avec Samba Active Directory?
Samba tourne sur la quasi-totalité des systèmes Unix-like : toutes les distributions Linux majeures, Solaris, AIX, les variantes BSD (FreeBSD, OpenBSD, NetBSD), et Apple macOS depuis Mac OS X 10.2.
Cette portabilité est l’un des atouts majeurs de la solution face à Microsoft AD, strictement limité à Windows Server.
Côté clients Windows, la compatibilité est complète avec Windows 10 et Windows 11. Les postes rejoignent le domaine Samba exactement comme ils rejoindraient un domaine Microsoft – même procédure, même expérience utilisateur.
Pour les clients Linux, l’intégration via winbind ou sssd fonctionne sur toutes les distributions courantes. SSSD offre généralement une meilleure intégration sur les systèmes modernes, avec un cache local des identités qui maintient l’authentification même en cas de perte de connectivité vers le DC – un avantage concret pour les laptops en déplacement.
Trente ans après les premières lignes de code d’Andrew Tridgell dans une chambre d’étudiant à Canberra, Samba AD s’est imposé comme une infrastructure critique pour des milliers d’organisations dans le monde.
Choisir l’open source pour son annuaire d’entreprise n’est plus un pari – c’est une décision d’ingénierie solide.