Autenticazione dei client Linux Ubuntu 12.04LTS su un server LDAPv3

Sempre a casa (perché al lavoro ormai i server Microsoft Windows la fanno da padrona in ogni cosa) ho un Qnap. Questo bellissimo aggeggino dal Quore *nix offre anche un servizio di LDAPv3. L’ho configurato molto facilmente e poi mi sono detto: “E ora?! Che ci faccio?!”

Beh, semplice… ho centralizzato l’accesso delle utenze dai vari computer che ho: sistemi Linux Ubuntu 12.04LTS e Mac (ovviamente)! Come? Scopriamolo assieme in questo articolo.

Installazione delle librerie LDAP

Installiamo dapprima le librerie necessarie, tramite il nostro carissimo comando apt-get.

Fate attenzione che durante l’installazione dei pacchetti vi verrà richiesta qualche informazione relativa al server LDAP che intendete utilizzare come sistema di autenticazione. Dovete quindi assicurarvi di inserire correttamente i valori, pena il non funzionamento dell’autenticazione

administrator@ubuntu:~$ sudo apt-get install ldap-utils libpam-ldap libnss-ldap nslcd

A questo punto, passiamo alla configurazione di 4 file: /etc/nsswitch.conf, /etc/pam.d/login, /etc/pam.d/lightdm e /etc/ldap.conf.

Modifica ai file di configurazione

Modifichiamo ora i file di configurazione per fare in modo che gli utenti censiti nel server LDAP possano accedere al sistema.

/etc/nsswitch.conf

Editiamo quindi dapprima il file /etc/nsswitch.conf tramite il comando:

administrator@ubuntu:~$ sudo gedit /etc/nsswitch.conf

modificando le tre righe seguenti, aggiungendo ldap in fondo alla riga, come indicato:


# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the 'glibc-doc-reference' and 'info' packages installed, try:
# 'info libc "Name Service Switch"' for information about this file.

passwd:         compat ldap
group:          compat ldap
shadow:         compat ldap

/etc/pam.d/login

Passiamo poi al file /etc/pam.d/login, con il comando:

administrator@ubuntu:~$ sudo gedit /etc/pam.d/login

aggiungendo in fondo al file le righe seguenti:


# Aggiunto da Administrator il 04/02/2013 16:16
session required pam_mkhomedir.so skel=/etc/skel umask=0022

/etc/pam.d/lightdm

Analogamente, per il file /etc/pam.d/lightdm, tramite il comando:

administrator@ubuntu:~$ sudo gedit /etc/pam.d/lightdm

aggiungiamo in fondo al file le righe seguenti:


# Aggiunto da Administrator il 04/02/2013 16:16
session required pam_mkhomedir.so skel=/etc/skel umask=0022

/etc/ldap.conf

E infine eliminiamo il commento di fronte alla riga che comincia con rootbinddn dal file /etc/ldap.conf:

administrator@ubuntu:~$ sudo gedit /etc/ldap.conf

in modo che nel file appaia qualcosa come:


...

# The distinguished name to bind to the server with
# if the effective user ID is root. Password is
# stored in /etc/ldap.secret (mode 600)
rootbinddn cn=admin,dc=example,dc=com

...

Riavvio del client

Eseguiamo poi i comandi seguenti:

administrator@ubuntu:~$ sudo update-rc.d nslcd enable
administrator@ubuntu:~$ sudo /usr/lib/lightdm/lightdm-set-defaults -m true

Da questo momento in poi, dovreste essere in grado di poter eseguire l’autenticazione sul client Linux Ubuntu 12.04LTS con le credenziali memorizzate sul vostro server LDAPv3!

Problemi e soluzioni

Alcuni problemi comuni potrebbero essere i seguenti:

  • Eseguendo il login tramite le credenziali di un utente LDAP, l’operazione richiede un tempo troppo lungo (dell’ordine dei minuti): é molto facile che la libreria nss-lap faccia fatica a trovare il gruppo a cui appartiene l’utente. Assicuratevi che l’utente sia in un gruppo riconosciuto localmente, oppure associate l’utente a un gruppo sul server LDAP (in quest’ultimo caso, verificate che sia un gruppo POSIX).
  • Tenete sempre sott’occhio il file di log /var/log/auth.log. Se trovate errori, verificate che il server LDAP sia raggiungibile, che le porte TCP/389 e/o TCP/636 (usualmente) siano aperte e, infine, che la fase di configurazione iniziale fatta durante l’installazione delle librerie sia stata eseguita correttamente. Verificate il file /etc/ldap.conf a tal proposito.

Riferimenti

How to configure Ubuntu as an LDAP client? – Ask Ubuntu

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *