Domande? Problemi?

Iscriviti al Google group:

Ubuntu

Configurazione di un client Ubuntu per l’accesso ad un dominio isi

Dalla release di Ubuntu 7.10, è stato introdotto auth_client_config che consente di gestire agevolmente più configurazioni(profili) e di passare da uno all’altro in modo molto semplce. I procedimenti seguenti utilizzeranno tale feature.

Installare i pacchetti necessari

root@ubuntu-desktop:~# apt-get install ldap-auth-config ldap-utils

Nota

L’installazione del pacchetto ldap-utils non è strettamente necessaria. Torna però utile per testare le interrogazioni ldap.

Una volta installati i pacchetti,verrà lanciato uno script di configurazione. Si risponda alle domande come indicato di seguito, sostituendo i dati di esempio con i propri:

Should debconf manage LDAP configuration?:
LDAP server Uniform Resource Identifier: ldap://192.168.1.150
Distinguished name: dc=isi,dc=lan
LDAP account for root: cn=admin,dc=isi,dc=lan
Password di root: passwordDiRoot

(Per ciò che non viene espressamente citato sopra, si accetti il valore di default proposto)

Nota

Per Ubuntu versione 8.10

  • /etc/ldap/ldap.conf non viene configurato automaticamente, sarà quindi necessario effettuarne la configurazione manualmente.

Per Ubuntu versione < 8.10

  • /etc/ldap/ldap.conf non viene configurato automaticamente, sarà quindi necessario effettuarne la configurazione manualmente.
  • /etc/ldap.conf viene configurato in modo errato, sarà quindi necessario verificarne la configurazione.

/etc/ldap.conf

Assicuriamoci che la direttiva ldapi://192.168.1.150 sia commentata. In presenza di più modi per identificare il server ldap, l’autenticazione cessa di funzionare.

Procediamo quindi con la scelta del metodo di bind da utilizzare e la sua configurazione.

bind anonimo o bind autenticato

Ogni client recupera le informazioni sugli utenti collegandosi (bind) al server in modo autenticato (passando username e password) od in modo anonimo.

Differenze tra bind autenticato con rootbinddn e bind anonimo

Usando il bind anonimo, agli utenti che desiderano cambiare la propria password, verrà richiesta la password precedente. Lo stesso discorso vale per l’utente root. Con il bind autenticato, questo non avviene.

bind autenticato con rootbindn

Il bind autenticato richiede che le seguenti direttive vengano valorizzate

host 192.168.1.150
rootbinddn cn=admin,dc=isi,dc=lan
base dc=isi,dc=lan
uri ldap://192.168.1.150
ldap_version 3
pam_password md5

Nota

Sostituire 192.168.1.150 con l’ip del server su cui gira slapd.

rootbinddn viene valorizzata con il distinguished name dell’utente amministratore del database ldap, nel nostro caso cn=admin,dc=isi,dc=lan. E anche necessario scrivere la password in chiaro dell’utente amministratore del database LDAP (cn=admin,dc=isi,dc=lan) nel file /etc/ldap.secret, che dovrà avere permessi 600.

Il bind anonimo

Il bind anonimo non richiede nè di configurare un particolare utente per accedere al database nè di creare il file /etc/ldap.secret. Tutto quello che serve è valorizzare le seguenti direttive

host 192.168.1.150
base dc=isi,dc=lan
uri ldap://192.168.1.150
ldap_version 3
pam_password md5

Nota

Sostituire 192.168.1.150 con l’ip del server su cui gira slapd.

Per ragioni di sicurezza è preferibile utilizzare il bind anonimo, evitando così di lasciare il file ldap.secret su tutti i client.

/etc/ldap/ldap.conf

BASE    dc=isi,dc=lan
URI     ldap://192.168.1.150

Creazione e aggiunta di un profilo auth-client-config

Creare, con un editor di testo, un file chiamato isi, popolandolo con le righe seguenti, e salvarlo in :file`/etc/auth-client-config/profile.d/`

Se il sistema in uso è una Ubuntu di versione inferiore alla 8.10:

[isi-ldap]
nss_passwd=passwd: compat ldap
nss_group=group: compat ldap
nss_shadow=shadow: compat ldap
pam_auth=auth       sufficient   pam_ldap.so
        auth       required     pam_unix.so nullok_secure use_first_pass
pam_account=account    sufficient   pam_ldap.so
        account    required     pam_unix.so
pam_password=password   sufficient   pam_ldap.so
        password   required     pam_unix.so nullok obscure min=4 max=8 md5
pam_session=session    required     pam_unix.so
        session    required     pam_mkhomedir.so skel=/etc/skel/
        session    optional     pam_ldap.so
        session    optional     pam_foreground.so

[isi-local]
nss_group=group:          compat
nss_passwd=passwd:         compat
nss_shadow=shadow:         compat
pam_account=account     required        pam_unix.so
pam_auth=auth   required        pam_unix.so nullok_secure
pam_password=password   required   pam_unix.so nullok obscure md5
pam_session=session     required        pam_unix.so
        session optional        pam_foreground.so

Se il sistema in uso è Ubuntu versione 8.10:

[isi-ldap]
nss_passwd=passwd: compat ldap
nss_group=group: compat ldap
nss_shadow=shadow: compat ldap
nss_netgroup=netgroup: nis
pam_auth=auth       sufficient   pam_ldap.so
        auth       required     pam_unix.so nullok_secure use_first_pass
pam_account=account    sufficient   pam_ldap.so
        account    required     pam_unix.so
pam_password=password   sufficient   pam_ldap.so
        password   required     pam_unix.so nullok obscure min=4 max=8 md5
pam_session=session    required     pam_unix.so
        session    required     pam_mkhomedir.so skel=/etc/skel/
        session    optional     pam_ldap.so
        session    optional     pam_foreground.so

[isi-local]
nss_group=group:          compat
nss_netgroup=netgroup:       nis
nss_passwd=passwd:         compat
nss_shadow=shadow:         compat
pam_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
pam_auth=auth   [success=2 default=ignore]      pam_unix.so nullok_secure
        auth    [success=1 default=ignore]      pam_ldap.so use_first_pass
        auth    requisite                       pam_deny.so
        auth    required                        pam_permit.so
pam_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
        password        requisite                       pam_deny.so
        password        required                        pam_permit.so
pam_session=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
        session optional                        pam_ck_connector.so nox11

Per verificare che il profilo venga rilevato correttamente si potrà utilizzare il comando auth-client-config -l:

root@ubuntu-desktop:~# auth-client-config -l
Available profiles are:
  isi-ldap
  isi-local
  kerberos_example
  lac_ldap
  ldap_example

Come si può notare, i profili isi-ldap e isi-local aggiunti in precedenza vengono trovati ed elencati. Non resta che attivare il profilo isi-ldap:

root@ubuntu-desktop:~# auth-client-config -a -p isi-ldap

Ed effettuare un tentativo di interrogazione del database ldap:

root@ubuntu-desktop:~# getent passwd

L’output del comando dovrebbe mostrare tutto il contenuto del file locale /etc/passwd seguito da quello aggiuntivo fornito dal database ldap.