Configurare un client Debian GNU/Linux per l'autenticazione ldap con sss

Da sia.
Vai alla navigazione Vai alla ricerca

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