User Tools

Site Tools


doc:appunti:linux:sa:sldap

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
doc:appunti:linux:sa:sldap [2011/10/14 13:19] – [Creazione di un indice] niccolodoc:appunti:linux:sa:sldap [2011/10/28 17:35] – [Inizializzazione o restore di un database] niccolo
Line 26: Line 26:
 </file> </file>
  
 +===== Inizializzazione o restore di un database =====
 +
 +Nell'installazione predefinita il database #1 viene definito nel file **''/etc/ldap/slapd.d/cn=config/olcDatabase={1}hdb.ldif''**, il contenuto vero e proprio (in formato Berkeley DB) è invece in **''/var/lib/ldap/''**.
 +
 +Per recuperare o inizializzare il contenuto del database (ad esempio facendo il restore di un precedente **''slapcat''**) è sufficiente eseguire questa procedura basata su **''slapadd''** (aggiustare il //suffix// del database in cui fare il restore):
 +
 +<code>
 +/etc/init.d/slapd stop
 +slapadd -b 'dc=rigacci,dc=org' < slapcat_dump.ldif
 +/etc/init.d/slapd start
 +</code>
 +
 +Dopo l'operazione controllare i permessi dei file in ''/var/lib/ldap/'', devono essere leggibili e scrivibili da **''openldap''**. Se per esempio un indice viene creato a nome di ''root'', nelle successive esecuzioni di ''ldapadd'' si incappa nell'errore:
 +
 +<code>
 +ldap_add: Other (e.g., implementation specific) error (80)
 +        additional info: index generation failed
 +</code>
 +
 +Notare che **non è in genere possibile usare ''ldapadd''** per aggiungere oggetti in un database vuoto, ad esempio perché le informazioni per onorare le ACL (es. le password) devono risiedere nel database stesso.
 +
 +In modo analogo con ''ldapadd'' non è possibile effettuare il restore di alcuni attributi, in quanto lo schema li dichiara non modificabili dall'utente. Questi alcuni esempi: **''structuralObjectClass''**, **''entryUUID''**, **''creatorsName''**. Quindi in generale il restore va effettuato con **''slapadd''** che interviene direttamente sul database senza passare per il protocollo LDAP.
 ===== Creazione di un indice ===== ===== Creazione di un indice =====
  
doc/appunti/linux/sa/sldap.txt · Last modified: 2014/12/25 16:26 by niccolo