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. Questo servizio è più rispettoso della privacy, quindi getent passwd non restituisce gli utenti anche se è possibile fare il login con ssh.

Installazione

apt-get install libnss-sss libpam-sss sssd openssl ldap-utils

Scaricare i certificati

cd /etc/ssl/certs
wget https://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
pagesize 100000
ldap_version 3
bind_policy soft
ssl start_tls 
tls_cacert /etc/ssl/certs/DigiCertCA.crt

Fare un test con ldapsearch:

ldapsearch -x -ZZ -h ldap5.unimore.it 'uid=una_username'

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: è possibile che nelle versioni più recenti di Debian si riceva, al momento del login grafico, l'errore "Could not connect to session bus: /usr/bin/dbus-launch terminated abnormally without any error message". In questo selezionare anche l'opzione:

    [*] Register user sessions in the systemd control group hierarchy

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