SSSD sous Linux — Résumé & Guide de configuration
Date : 07/01/2026
Auteur : M365 Copilot
1. Qu'est-ce que SSSD ?
Le SSSD (System Security Services Daemon) centralise l’authentification et la résolution
d’identité des utilisateurs sur Linux à partir de sources externes : LDAP, Active Directory (AD),
Kerberos, etc. Il fournit des réponses à NSS et PAM et met en cache les informations pour
permettre une authentification hors-ligne temporaire.
Atouts principaux
• Centralisation : gestion unifiée des utilisateurs/groupes.
• Caching : authentification et résolution d’identité hors-ligne en cas de perte réseau.
• Intégration simplifiée : prise en charge de LDAP, AD et Kerberos.
2. Architecture & intégration (NSS, PAM, SSSD)
SSSD expose des "responders" (nss, pam, sudo, ssh, ifp, etc.) et des "backends" (ldap, ad, krb5).
NSS est configuré pour interroger SSSD (entrée 'sss' dans /etc/[Link]) et PAM charge le
module pam_sss.so pour l’authentification.
Exemple d’extraits de configuration
# /etc/[Link] (extraits)
passwd: files sss
group: files sss
services: files sss
# /etc/pam.d/system-auth (ou password-auth)
# ...
auth sufficient pam_sss.so
account [default=bad success=ok user_unknown=ignore] pam_sss.so
password sufficient pam_sss.so use_authtok
session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
# ...
3. Configuration pas à pas : SSSD avec LDAP
3.1 Installer les paquets
RHEL/CentOS/Alma/Rocky :
sudo dnf install -y sssd sssd-ldap sssd-tools libnss-sss libpam-sss
oddjob oddjob-mkhomedir authselect
Debian/Ubuntu :
sudo apt update && sudo apt install -y sssd sssd-ldap sssd-tools libnss-
sss libpam-sss
3.2 Créer /etc/sssd/[Link]
sudo vi /etc/sssd/[Link]
Exemple minimal (LDAP) :
[sssd]
services = nss, pam
config_file_version = 2
domains = LDAP
[domain/LDAP]
id_provider = ldap
auth_provider = ldap
ldap_uri = ldap://[Link]
ldap_search_base = dc=example,dc=com
ldap_default_bind_dn = cn=admin,dc=example,dc=com
ldap_default_authtok = motdepasseadmin
ldap_user_search_base = ou=users,dc=example,dc=com
ldap_group_search_base = ou=groups,dc=example,dc=com
cache_credentials = True
enumerate = False
ldap_referrals = False
# Sécuriser les échanges (recommandé) :
ldap_id_use_start_tls = True
ldap_tls_cacert = /etc/ssl/certs/[Link]
Remarques : utilisez TLS (StartTLS ou LDAPS) et déployez le certificat d’autorité. Évitez de
stocker un mot de passe admin ; préférez un compte de service aux droits minimaux.
3.3 Protéger le fichier
sudo chown root:root /etc/sssd/[Link]
sudo chmod 600 /etc/sssd/[Link]
3.4 Activer SSSD
sudo systemctl enable --now sssd
3.5 Configurer NSS & PAM pour utiliser SSSD
RHEL 8/9+ (authselect recommandé) :
sudo authselect select sssd with-mkhomedir --force
sudo systemctl restart sssd
RHEL/CentOS 7 (authconfig, hérité) :
sudo authconfig --enableldap --enableldapauth
--ldapserver=ldap://[Link] --ldapbasedn="dc=example,dc=com"
--enablesssd --enablesssdauth --enablemkhomedir --update
Debian/Ubuntu :
# Ajouter 'sss' dans /etc/[Link] pour passwd, group, shadow
sudo sed -i 's/^passwd:.*/passwd: files sss/' /etc/[Link]
sudo sed -i 's/^group:.*/group: files sss/' /etc/[Link]
# Activer PAM SSSD et création auto du home
sudo pam-auth-update --enable mkhomedir
sudo systemctl restart sssd
3.6 Tester
getent passwd <utilisateur_ldap>
id <utilisateur_ldap>
sssctl user-show <utilisateur_ldap>
ssh <utilisateur_ldap>@localhost
3.7 Dépannage
# Logs & statut
journalctl -u sssd -b
sudo sssctl domain-list
sudo sssctl cache-status
# Vider le cache
sudo sss_cache -E
# Augmenter la verbosité (exemple)
# Dans [domain/LDAP] : debug_level = 9
sudo systemctl restart sssd
4. Exemple complet minimal (récapitulatif)
[sssd]
services = nss, pam
config_file_version = 2
domains = LDAP
[domain/LDAP]
id_provider = ldap
auth_provider = ldap
ldap_uri = ldap://[Link]
ldap_search_base = dc=example,dc=com
cache_credentials = True
enumerate = False
ldap_referrals = False
ldap_id_use_start_tls = True
ldap_tls_cacert = /etc/ssl/certs/[Link]
# Option d'accès (exemple) :
# access_provider = ldap
# ldap_access_filter = (memberOf=cn=linux-
users,ou=groups,dc=example,dc=com)
5. Intégration Active Directory (aperçu)
Pour AD, privilégiez l’automatisation via realmd/adcli qui configure SSSD et crée un keytab
Kerberos (authentification forte, sans mot de passe stocké).
sudo dnf install -y realmd adcli sssd sssd-ad samba-common-tools
sudo realm discover [Link]
sudo realm join -U Administrator [Link]
# Puis vérifier :
realm list
id user@[Link]
Avantages : pas de mot de passe bind dans [Link], tickets Kerberos gérés via le keytab.
6. Bonnes pratiques de sécurité & performance
• Sauvegarder les fichiers de configuration avant toute modification.
• Toujours protéger /etc/sssd/[Link] (chmod 600) et éviter d’y stocker des secrets puissants.
• Utiliser TLS/LDAPS avec un certificat d’autorité fiable (ldap_id_use_start_tls/ldap_tls_cacert).
• Éviter enumerate=True dans les grands annuaires (coûteux).
• Limiter l’accès avec access_provider et/ou des filtres (ldap_access_filter).
• Préférer SSSD à pam_ldap direct pour bénéficier du cache et d’une meilleure résilience.
• Sur RHEL 8/9, utiliser authselect plutôt qu’authconfig (hérité).
• Sur les postes multi-usages, activer la création auto du home
(oddjob-mkhomedir/pam_mkhomedir).
• Surveiller les logs (journalctl -u sssd) et purger le cache en cas de changement d’annuaire
(sss_cache -E).
Conclusion
SSSD simplifie et fiabilise l’intégration de Linux à des services d’identité centralisés
(LDAP/AD/Kerberos). En combinant SSSD avec NSS et PAM, on obtient une authentification
robuste, performante et tolérante aux pannes réseau grâce au cache local.