Intégrer Linux à Active Directory : Samba vs LDAP (SSSD) - Guide
Faites authentifier vos hôtes Linux auprès de votre domaine Windows AD. Deux approches éprouvées :
Option A : Samba Winbind (Classique)
Idéal pour serveurs fichiers/impression qui servent aussi des clients Windows via SMB.
- Installation :
sudo apt install samba winbind krb5-user(Debian/Ubuntu) oudnf install samba-winbind krb5-workstation(RHEL). - Kerberos (/etc/krb5.conf) :
[libdefaults] default_realm = CORP.EXAMPLE.COM dns_lookup_realm = true dns_lookup_kdc = true - smb.conf (/etc/samba/smb.conf) :
[global] workgroup = CORP realm = CORP.EXAMPLE.COM security = ads dedicated keytab file = /etc/krb5.keytab kerberos method = secrets and keytab winbind use default domain = yes winbind enum users = yes winbind enum groups = yes idmap config * : backend = tdb idmap config * : range = 10000-20000 idmap config CORP : backend = rid idmap config CORP : range = 1000000-2000000 template shell = /bin/bash template homedir = /home/%U - Rejoindre le domaine :
sudo net ads join -U administrator sudo systemctl enable --now winbind smbd nmbd - Test :
wbinfo -u; getent passwd administrator.
Option B : SSSD + LDAP (Moderne, Recommandé)
Plus léger, meilleur cache, fonctionne avec sudo, clés SSH et HBAC.
- Installation :
sudo apt install sssd-ad sssd-tools realmd adcli krb5-user. - Découvrir et rejoindre :
sudo realm discover corp.example.com sudo realm join -U administrator corp.example.com - SSSD s'auto-configure (/etc/sssd/sssd.conf) avec :
[domain/corp.example.com] ad_domain = corp.example.com krb5_realm = CORP.EXAMPLE.COM realmd_tags = manages-system joined-with-adcli cache_credentials = True id_provider = ad krb5_store_password_if_offline = True default_shell = /bin/bash fallback_homedir = /home/%u@%d use_fully_qualified_names = False - Activer :
sudo systemctl enable --now sssd. - Test :
id user@corp.example.com; ssh user@linux-host.
Durcissement courant
- Restreindre SSH :
AllowGroups "Domain Admins" "LinuxAdmins"danssshd_config. - Sudo :
%Domain\ Admins ALL=(ALL) ALLdans/etc/sudoers.d/ad-admins. - HBAC (SSSD) :
ad_access_filter = (memberOf=CN=LinuxAccess,OU=Groups,DC=corp,DC=example,DC=com). - Sync temps :
chronydavec contrôleurs de domaine (critique pour Kerberos).
Choisissez Samba si vous servez des fichiers SMB ; choisissez SSSD pour l'authentification/identité pure. Les deux coexistent.
