Configurare un client Debian GNU/Linux per l'autenticazione ldap con sss
System Security Services Daemon (SSSD)
Il sistema System Security Services Daemon è alternativo ai tradizionali libnss-ldap e libpam-ldap.
Installazione
apt-get install libnss-sss libpam-sss sssd openssl ldap-utils
Scaricare i certificati
cd /etc/ssl/certs wget http://apps.lettere.unimo.it/samba-ldap/certs/createhash.sh sh createhash.sh
Editare ldap.conf
BASE dc=unimore,dc=it URI ldap://ldap5.unimore.it ldap://ldap3.unimore.it pagesize 100000 ldap_version 3 bind_policy soft ssl start_tls tls_cacert /etc/ssl/certs/tcs-chain.pem
In questo esempio c'e' ldap5 e ldap3 in failover. E' possibile anche indicare solo ldap5
Modificare pam
Aggiungere come ultima riga a /etc/pam.d/common-session
# end of pam-auth-update config session required pam_mkhomedir.so skel=/etc/skel umask=0027
Creare i soft link per shell e home
ln -s /home /homel ln -s /bin/bash /bin/mosh
Configurazione di sssd.conf
Compiare il template /usr/share/doc/sssd-common/examples/sssd-example.conf in /etc/sssd/sssd.conf ed assegnare il privilegi corretti al file:
cp /usr/share/doc/sssd-common/examples/sssd-example.conf /etc/sssd/sssd.conf chmod 600 /etc/sssd/sssd.conf chown root:root /etc/sssd/sssd.conf
Editare il file di configurazione in 2 punti
domains = LDAP
[domain/LDAP] id_provider = ldap auth_provider = ldap ldap_schema = rfc2307 ldap_uri = ldap://ldap5.unimore.it ldap_search_base = dc=unimore,dc=it ldap_tls_reqcert = demand cache_credentials = true enumerate = False
Il file /etc/sssd/sssd.conf deve essere chmod 600 e chown root:root, altrimenti il servizio sssd non si avvia. La causa precisa dell'errore e' in /var/log/syslog.
Lanciare il comando:
sudo pam-auth-update
e scegliere
[*] SSS authentication [*] Unix authentication
NOTA BENE: questo servizio è più rispettoso della privacy, quindi getent passwd non restituisce gli utenti anche se è possibile fare il login con ssh. E' molto più lento di libnss-ldapd se un utente e' membro di un gruppo molto numeroso e la versione di sssd e' precedente alla 1.8.1-1 (bug su Debian).
Svuotare la cache
Talvolta sssd mantiene la cache dei gruppi pittosto a lungo.
Per un refresh, usare sss_cache -g gruppo per il refresh di un gruppo.
Nelle versioni più antiche, sss_cache non esiste e bisogna spegnere sssd e cancellare il file /var/lib/sss/db/cache_LDAP.ldb