Capitolo 25.  LDAP - Un servizio directory

Sommario

25.1. LDAP rispetto a NIS
25.2. Struttura di un albero di directory LDAP
25.3. Configurazione del server con slapd.conf
25.4. Gestione dei dati nella directory LDAP
25.5. Client LDAP YaST
25.6. Configurazione di utenti e gruppi LDAP in YaST
25.7. Ulteriori informazioni

Estratto

LDAP (Lightweight Directory Access Protocol) è un gruppo di protocolli progettato per l'accesso e la gestione di directory di informazioni. LDAP può essere utilizzato per diversi obiettivi, ad esempio per la gestione di utenti e gruppi, della configurazione dei sistemi o degli indirizzi. In questo capitolo vengono fornite alcune nozioni di base su OpenLDAP e sulla gestione di dati LDAP con YaST. Sebbene esistano diverse implementazioni del protocollo LDAP, questo capitolo si concentra esclusivamente sull'implementazione OpenLDAP.

In un ambiente di rete è fondamentale mantenere le informazioni importanti strutturate e prontamente disponibili. Questo obiettivo può essere conseguito con un servizio directory che, come le comuni Pagine Gialle, raccolga le informazioni disponibili in una forma ben strutturata e facile da cercare.

L'opzione ideale è un server centrale che conservi i dati in una directory e li distribuisca a tutti i client mediante un determinato protocollo. I dati sono strutturati in modo da consentirne l'accesso a una vasta gamma di applicazioni. In questo modo non è necessario gestire un database per ogni strumento calendario e client e-mail: è sufficiente accedere a un repository centrale. Ciò riduce notevolmente l'impegno per la gestione delle informazioni. L'utilizzo di un protocollo aperto e standardizzato come LDAP garantisce l'accesso a tali informazioni da parte del maggior numero possibile di applicazioni client.

In questo contesto, una directory è un tipo di database ottimizzato per una rapida ed efficace lettura e ricerca:

Un servizio directory come LDAP non è progettato per supportare meccanismi di query o aggiornamenti complessi. Tutte le applicazioni devono poter accedere al servizio in modo semplice e rapido.

Molti servizi directory sono esistiti ed esistono tuttora in ambiente Unix e non. Novell NDS, Microsoft ADS, Street Talk di Banyan e lo standard OSI X.500 sono solo alcuni esempi. LDAP è stato originariamente progettato come semplificazione di DAP, il protocollo di accesso alle directory sviluppato per l'accesso a X.500. Lo standard X.500 regola l'organizzazione gerarchica delle voci di directory.

LDAP è una versione ridotta di DAP. Senza perdere la gerarchia delle voci di X.500, LDAP offre funzionalità multipiattaforma e consente di risparmiare risorse. L'utilizzo del protocollo TCP/IP rende sostanzialmente più semplice la definizione di interfacce tra un'applicazione docking e il servizio LDAP.

Nel frattempo, LDAP si è evoluto e viene sempre più impiegato come soluzione indipendente senza supporto X.500. LDAP supporta riferimenti con LDAPv3 (la versione di protocollo in pacchetto openldap2); ciò consente di avere database distribuiti. Un'ulteriore novità è l'utilizzo del Simple Authentication and Security Layer (SASL).

LDAP non si limita alla ricerca di dati da server X.500 come previsto in origine. Un server slapd open source può memorizzare informazioni sugli oggetti in un database locale. È inoltre presente un'estensione denominata slurpd, responsabile della replica di più server LDAP.

Il pacchetto openldap2 è costituito dai seguenti elementi:

slapd

Un server LDAPv3 indipendente che amministra le informazioni sugli oggetti in un database basato su BerkeleyDB.

slurpd

Questo programma consente di replicare le modifiche apportate ai dati del server LDAP locale su altri server LDAP installati nella rete.

ulteriori strumenti per la gestione del sistema

slapcat, slapadd, slapindex


25.1. LDAP rispetto a NIS

L'amministratore di sistema Unix utilizza tradizionalmente il servizio NIS per la risoluzione del nome e la distribuzione dei dati su una rete. I dati di configurazione contenuti nei file in /etc e nelle directory group, hosts, mail, netgroup, networks, passwd, printcap, protocols, rpc e services vengono distribuiti dai client su tutta la rete. Questi file possono essere gestiti senza particolari difficoltà in quanto si tratta di semplici file di testo. La gestione di grandi quantità di dati, tuttavia, diventa sempre più difficile a causa della mancanza di una struttura. NIS può essere usato solo con le piattaforme Unix. Ciò significa che non è consigliabile usarlo come strumento di amministrazione dei dati in reti eterogenee.

A differenza di NIS, il servizio LDAP non è limitato alle reti esclusivamente Unix. I server Windows (a partire dalla versione 2000) supportano LDAP come servizio directory. Anche Novell offre un servizio LDAP. I task applicativi citati in precedenza sono anche supportati in sistemi non Unix.

Il principio LDAP può essere applicato a qualunque struttura di dati da amministrare a livello centrale. Alcuni esempi di applicazione sono i seguenti:

  • Impiego a sostituzione del servizio NIS

  • Instradamento della posta (postfix, sendmail)

  • Rubriche per client di posta come Mozilla, Evolution e Outlook

  • Amministrazione di descrizione di zone per un server BIND9

  • Autenticazione utenti con Samba in reti eterogenee

Questo elenco può essere esteso in quando LDAP è espandibile, a differenza di NIS. La chiara struttura gerarchica dei dati semplifica l'amministrazione di elevate quantità di dati, in quanto offre migliori funzionalità di ricerca.