mercoledì 13 dicembre 2006

Backup e Restore di server LDAP

...ovvero come farlo nella condizione più difficile: online e senza utilità di specifici prodotti.
Utilizzando le utilità OpenLDAP Client Utilities come ldapadd, ldapsearch etc..., è possibile eseguire rapidamente e semplicemente l'operazione di copia completa delle entry di un server LDAP remoto, nonché di scrittura di tale copia su un LDAP server "vuoto".
Come vi sarete abituati a leggere, in queste pagine le note tecniche sono relativamente semplici e utili al più come promemoria, ma spero possano essere comunque di vostra utilità, sopratutto, per esempio, per la stesura di script automatici.

Per il backup, utilizzando ldapsearch:
>ldapsearch -x -b "dc=example,dc=com" -h 192.168.0.1 -D "cn=manager,dc=example,dc=com" -w secret "(objectclass=*)" > nomefile.ldif

dove:

  • -x specifica l'utilizzo della "sample authentication" (anzichè SASL)
  • -b "dc=example,dc=com" indica il BaseDN del server, ovvero la posizione dalla quale effettuare la copia di tutti i nodi e le entry contenute
  • -h 192.168.0.1 indica l'indirizzo del server LDAP remoto
  • -D "cn=manager,dc=example,dc=com" specifica l'identificativo dell'utenza ai fini dell'autenticazione al server remoto
  • -w secret permette di specificare la password di accesso per l'utenza precedentemente indicata
  • "(objectclass=*)" da istruzione al ldapsearch di restituire tutte le entry
  • nomefile.ldif è il file, in formato LDIF, ove salvare il risultato della ricerca.
Il file LDIF prodotto può quindi essere utilizzato per ripristinare, ad esempio, un server il cui contenuto è andato perso. Pertanto, il seguente comando può essere utilizzato (attenzione!) per ripristinare un LDAP server privo di entry:
> ldapadd -D "cn=manager,dc=example,dc=com" -x -w secret -h LDAPServer -f nomefile.ldif

Per il significato dei parametri, fare riferimento alla precedente descrizione. Per la stesura di script, suggerisco l'opzione -W anzichè -w secret poichè attiva un prompt per la richiesta della password di autenticazione, evitando così la pessima abitudine di salvare le password di accesso all'interno dei batch...

A presto!

Eventi a cui partecipo