Quello che segue è un esempio di file di configurazione, suddiviso con testo esplicativo. Definisce due database per gestire le parti differenti dell'albero X.500; entrambe sono istanze di database BDB. I numeri della linea indicati sono forniti soltanto come riferimento e non sono inclusi nel file reale. In primo luogo, la sezione di configurazione globale:
1. # example config file - global configuration section 2. include /usr/local/etc/schema/core.schema 3. referral ldap://root.openldap.org 4. access to * by * read
La linea 1 è un commento. La linea 2 include un altro file di config il quale contiene le definizioni dello schema del nucleo. La direttiva di rinvio nella linea 3 significa che le domande non locali ad uno dei database definiti sotto si riferiranno al server LDAP che funziona sulla porta standard (389) all'host root.openldap.org.
La linea 4 è un controllo di accesso globale. Si applica a tutti i campi (dopo qualsiasi comando di accesso al database-specifico applicabile).
La sezione successiva del file di configurazione definisce un backend BDB che gestirà le domande per cose nella porzione dell'albero "dc=example,dc=com". Il database viene replicato su due slapd slave, una sui truelies, l'altra su judgmentday. Gli indici devono essere mantenuti per numerosi attributi e l'attributo userPassword deve essere protetto da accessi non autorizzati.
5. # BDB definition for the example.com 6. database bdb 7. suffix "dc=example,dc=com" 8. directory /usr/local/var/openldap-data 9. rootdn "cn=Manager,dc=example,dc=com" 10. rootpw secret 11. # replication directives 12. replogfile /usr/local/var/openldap/slapd.replog 13. replica uri=ldap://slave1.example.com:389 14. binddn="cn=Replicator,dc=example,dc=com" 15. bindmethod=simple credentials=secret 16. replica uri=ldaps://slave2.example.com:636 17. binddn="cn=Replicator,dc=example,dc=com" 18. bindmethod=simple credentials=secret 19. # indexed attribute definitions 20. index uid pres,eq 21. index cn,sn,uid pres,eq,sub 22. index objectClass eq 23. # database access control definitions 24. access to attr=userPassword 25. by self write 26. by anonymous auth 27. by dn.base="cn=Admin,dc=example,dc=com" write 28. by * none 29. access to * 30. by self write 31. by dn.base="cn=Admin,dc=example,dc=com" write 32. by * read
La linea 5 è un commento. L'inizio della definizione del database è contrassegnato dalla parola chiave del database alla linea 6. La linea 7 specifica il suffisso di DN per le domande da passare a questo database. La linea 8 specifica la directory in cui i file del database saranno presenti.
Le linee 9 e 10 identificano la voce "super user" del database e la password collegata. Questo campo non è soggetto a controllo di accesso o a limitazioni di scadenza o di formato. Ricordare di cifrare il rootpw usando slappasswd.
Esempio: rootpw{SSHA}Jq4xhhkGa7weT/0xKmaecT4HEXsdqiYA
Le linee da 11 a 18 sono per la replica. Vedere il link Replication per maggiori informazioni su queste direttive.
Le linee da 20 a 22 indicano gli indici da mantenere per i vari attributi.
Le linee da 24 a 32 specificano il controllo di accesso per i campi in questo database. Poiché questo è il primo database, i controlli si applicano anche ai campi non contenuti in alcun database (come la Root DSE). Per tutti i campi applicabili, l'attributo di userPassword è scrivibile dall'oggetto stesso e dall'oggetto "admin". Può essere usato per scopi di autenticazione/autorizzazione, ma non è altrimenti leggibile. Tutti gli altri attributi sono scrivibili dall'oggetto e dall'oggetto "admin" ma possono essere letti da tutti gli utenti (autenticati o no).
La sezione successiva dell'esempio del file di configurazione definisce un altro database BDB. Questo gestisce le domande che riguardano il sottoalbero dc=example,dc=net, ma è gestito dalla stessa entità del primo database. Si noti che senza la linea 39, l'accesso in lettura verrebbe concesso grazie alla regola globale di accesso contenuta nella linea 4.
33. # BDB definition for example.net 34. database bdb 35. suffix "dc=example,dc=net" 36. directory /usr/local/var/openldap-data-net 37. rootdn "cn=Manager,dc=example,dc=com" 38. index objectClass eq 39. access to * by users read