Ceci est une ancienne révision du document !
Authentifier un poste Ubuntu sur SME avec SSSD
Ce tuto nécessite une version de SME récente (>= SME 8b6). Il vous permettra d'authentifier un poste Ubuntu sur votre serveur SME, en utilisant l'annuaire LDAP. Grâce à SSSD, les identifiants pourront être mis en cache local, les comptes réseau seront donc utilisable même hors ligne.
Installer les paquets nécessaires
sudo apt-get install sssd libnss-sss libpam-nss auth-client-config
Créer un lien symbolique
Il semble qu'il y ait un bug dans la version de sssd fournit sur Ubuntu, pour le contourner, il suffit de créer un lien symbolique:
ln -s /usr/lib /usr/modules
Sans ça, sssd ne pourra pas gérer les appartenances aux groupes dans LDAP (source http://us.generation-nt.com/bug-599644-sssd-unable-resolve-ldap-group-memberships-help-200739341.html)
Configurer SSSD
La configuration de SSSD se passe dans le fichier /etc/sssd/sssd.conf. Vers le début de ce fichier, il faut configurer le domaine utilisé. Dans SSSD on peut considérer un domaine comme une source de donnée. Il est possible de sépcifier plusieurs domaine, dans l'ordre de préférences. Par exemple:
domains = sme
Puis, vers la fin du fichier, nous allons ajouter la configuration du domaine sme
[domain/sme] id_provider = ldap auth_provider = ldap ldap_schema = rfc2307 ldap_uri = ldap://sme.domain.tld ldap_default_bind_dn = uid=auth,ou=Users,dc=domain,dc=tld ldap_default_authtok = something_very_secret ldap_search_base = dc=domain,dc=tld ldap_user_search_base = ou=Users,dc=domain,dc=tld ldap_group_search_base = ou=Groups,dc=domain,dc=tld ldap_user_gecos = cn ldap_tls_reqcert = hard ldap_tls_cacert = /etc/ssl/certs/sme-cacert.pem ldap_id_use_start_tls = true cache_credentials = true enumerate = true
Dans cet exemple:
- le le domaine est domain.tld
- le nom dns de votre serveur SME est sme.domain.tld
- auth doit être un compte créé sur SME (un utilisateur classique)
- something_very_secret est le mot de passe du compte auth
- /etc/ssl/certs/sme-cacert.pem doit contenir la CA qui a signé le certificat de votre SME (si vous utilisez PHPki, il faut une version > 0.82-13)
Configurer le système pour utiliser SSSD comme source d'authentification
On va pour cela utiliser l'outil auth-client-config:
vim /etc/auth-client-config/profile.d/sss
Puis y placer les lignes suivantes:
[sss] nss_passwd= passwd: compat sss nss_group= group: compat sss nss_shadow= shadow: compat nss_netgroup= netgroup: nis pam_auth= auth [success=3 default=ignore] pam_unix.so nullok_secure try_first_pass auth requisite pam_succeed_if.so uid >= 500 quiet auth [success=1 default=ignore] pam_sss.so use_first_pass auth requisite pam_deny.so auth required pam_permit.so pam_account= account required pam_unix.so account sufficient pam_localuser.so account sufficient pam_succeed_if.so uid < 500 quiet account [default=bad success=ok user_unknown=ignore] pam_sss.so account required pam_permit.so pam_password= password sufficient pam_unix.so obscure sha512 password sufficient pam_sss.so use_authtok password required pam_deny.so pam_session= session required pam_mkhomedir.so skel=/etc/skel/ umask=0077 session optional pam_keyinit.so revoke session required pam_limits.so session [success=1 default=ignore] pam_sss.so session required pam_unix.so
Il ne reste plus qu'à activer le tout:
sudo auth-client-config -a -p sss