Autenticarsi in Debian tramite LDAP - Parte 2 - Installazione client

Posted by RedBlue on October 19, 2015 · 4 mins read

Ed eccoci alla seconda parte di questa guida all'installazione e alla configurazione di LDAP per gestire l'autenticazione centralizzata degli utenti in una rete locale.

Nella prima parte avevamo installato e configurato la parte server, assolutamente necessaria per metter su l'archivio di utenti. In questa seconda parte, vedremo come configurare la parte client. Ovviamente, il presupposto di base è quello di avere una rete locale già funzionante, in cui il client sia in grado di "vedere" il server e viceversa.

LDAPworm

Ricordo che nel nostro esempio per il server avevamo impostato i seguenti dati:

  • IP: 192.168.10.100
  • Hostname: server.red-blue.local

Detto ciò, iniziamo con l'installazione dei componenti necessari sul client (ovviamente tutti i comandi vanno dati come root):

apt-get install libnss-ldap libpam-ldap nscd

Anche in questo caso, durante l'installazione dovremo rispondere a varie domande, tra le quali ovviamente ci saranno anche l'indirizzo del server e il nostro dominio. Le risposte che ho dato io per il pacchetto libnss-ldap:

  • LDAP Server URI: ldap://192.168.10.100
  • Nome della base: dc=red-blue,dc=local
  • Versione di LDAP: 3
  • Account di amministrazione: cn=admin,dc=red-blue,cn=local
  • Password di amministrazione: fornire una password

Per il pacchetto libpam-ldap le risposte sono praticamente le stesse, da notare che verrà richiesto anche se usare l'utente root locale come admin per LDAP, non serve, quindi a tale domanda si può rispondere no; allo stesso modo, non è necessario che il database di LDAP necessiti di login, si può rispondere no anche a questa domanda.

Riconfiguriamo libnss-ldap, come root diamo:

dpkg-reconfigure libnss-ldap

Successivamente:

  • indichiamo nuovamente l'indirizzo del server: ldap://192.168.10.100
  • indichiamo nuovamente la base di LDAP: dc=red-blue,dc=local
  • confermiamo la versione 3 di LDAP
  • il database richiede login: No
  • privilegi speciale per root: No
  • file di configurazione leggibile/scrivibile solo dal proprietario: No

Ok, a questo punto editiamo /etc/ldap/ldap.conf, nel quale occorre indicare nelle righe BASE e URI rispettivamente la base inserita prima e l'indirizzo del server.

La configurazione di LDAP lato client è  fatta, ma ancora non abbiamo raggiunto il nostro scopo, infatti non abbiamo ancora istruito il sistema ad andare a cercare gli utenti nel database LDAP, oltre che nei file locali. Per fare ciò, è necessario editare il file /etc/nssswitch.conf. Cerchiamo le seguenti righe e vi aggiungiamo la chiave ldap:

[...]

 passwd: compat ldap

 group: compat ldap

 shadow: compat ldap

 [...]

 netgroup: ldap

 [...]

Dobbiamo ora riavviare il servizio:

service nscd restart

Benissimo, non resta che configurare Pam, necessario anch'esso per gestire l'autenticazione. Dobbiamo editare i seguenti files, per ognuno dei quali indicherò solo le linee di interesse e come dovrebbero apparire dopo la modifica:

/etc/pam.d/common-auth

 [...]

 auth [success=2 default=ignore] pam_unix.so nullok_secure try_first_pass

 auth [success=1 default=ignore] pam_ldap.so use_first_pass

 [...]

 auth requisite pam_deny.so

 [...]

 auth required pam_permit.so

 [...]
/etc/pam.d/common-account

 [...]

 account [success=2 new_authtok_reqd=done default=ignore] pam_unix.so

 account [success=1 default=ignore] pam_ldap.so

 [...]

 account requisite pam_deny.so

 [...]

 account required pam_permit.so

 [...]
/etc/pam.d/common-password

 [...]è

 password [success=2 default=ignore] pam_unix.so obscure sha512

 password [success=1 user_unknown=ignore default=die] pam_ldap.so use_authtok try_first_pass

 [...]

 password requisite pam_deny.so

 [...]

 password required pam_permit.so

 [...]
/etc/pam.d/common-session

 [...]

 session required pam_mkhomedir.so
/etc/pam.d/common-session-noninteractive

 [...]

 session [default=1] pam_permit.so

 [...]

 session requisite pam_deny.so

 [...]

 session required pam_permit.so

 [...]

 session required pam_unix.so

 session optional pam_ldap.so

Non ci resta che riavviare nuovamente il servizio:

service nscd restart

Finito! Riavviamo il sistema e proviamo ad autenticarci con l'utente che avevamo creato nella guida precedente. Se tutto è andato a buon fine, riusciremo ad accedere, e avremo anche la nostra home directory già configurata!

Nella terza e ultima parte vedremo un tool capace di semplificarci la vita..

Alla prossima..