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 install sssd libnss-sss libpam-sss auth-client-config
Configurer SSSD
La configuration de SSSD se passe dans le fichier /etc/sssd/sssd.conf.
cat <<'_EOF' > /etc/sssd/sssd.conf [sssd] config_file_version = 2 services = nss, pam domains = LDAP [nss] [pam] [domain/LDAP] 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 = p@ssw0rd ldap_default_authtok_type = password 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_object_class = inetOrgPerson ldap_user_gecos = cn ldap_tls_reqcert = hard ldap_tls_cacert = /etc/ssl/certs/sme-cacert.pem ldap_id_use_start_tls = true #ldap_user_shell = desktopLoginShell cache_credentials = true enumerate = true access_provider = ldap # ldap_access_filter = (|(posixMemberOf=equipe)(posixMemberOf=admins)(uid=backups)) _EOF chmod 600 /etc/sssd/sssd.conf
Dans cet exemple:
- le nom de 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)
- p@ssw0rd 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 (/etc/ssl/certs/ca-certificates.crt si vous utilisez un certificat “officiel”)
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