Serverul de LDAP are două tipuri de baze de date. O bază de date internă, pentru configuare, și o bază de date cu informații LDAP. Baza de date internă permite serverului de LDAP configurarea acestuia tot prin comenzi LDAP; se asigură astfel o interfață unificată și, mai mult, posibilitatea de a realiza configurații fără a fi nevoie de repornirea serverului.
Pentru a urmări și configura întreaga bază de date de internă a serverului rulăm, pe stația de tip server, comanda
root@ldap-server:~# ldapsearch -Y EXTERNAL -H ldapi:/// -b "cn=config" [...]
Sunt afișate foarte multe informații, practic toată baza de date internă a serverului LDAP. Dacă vrem să afișăm doar informațiile ce țin de configurarea informațiilor, vom investiga intrarea olcDatabase={1}hdb,cn=config
:
root@ldap-server:~# ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b "olcDatabase={1}hdb,cn=config" SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 dn: olcDatabase={1}hdb,cn=config objectClass: olcDatabaseConfig objectClass: olcHdbConfig olcDatabase: {1}hdb olcDbDirectory: /var/lib/ldap olcSuffix: dc=labs,dc=cs,dc=pub,dc=ro [...]
Dacă vrem să afișăm informații legate strict de configurarea serverului LDAP (număr de thread-uri folosite, nivel de jurnalizare, certificat) vom investiga doar baza intrării cn=config
:
root@ldap-server:~# ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b "cn=config" -s base SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 dn: cn=config objectClass: olcGlobal cn: config olcArgsFile: /var/run/slapd/slapd.args olcLogLevel: none olcPidFile: /var/run/slapd/slapd.pid olcTLSCACertificateFile: /etc/ssl/certs/cacert.org_root.pem olcTLSCertificateFile: /etc/ssl/certs/slapd-cert.pem olcTLSCertificateKeyFile: /etc/ssl/private/slapd-key.pem olcToolThreads: 1
Directivele de configurare în serverul LDAP sunt atribute în intrările cu dn-uri care se termină în cn=config
. Atributele încep cu prefixul olc
însemnând OpenLDAP Configuration.
Dorim să configurăm nivelul de jurnalizare al serverului LDAP. Directiva de configurare se numește olcLogLevel
, așa cum este documentată aici. Observăm că area valoarea none
. Vrem să-i schimbăm valoarea la stats
.
Pentru aceasta construim un fișier LDIF:
dn: cn=config changetype: modify replace: olcLogLevel olcLogLevel: stats
apoi încărcăm fișierul în baza de date LDAP:
root@ldap-server:~# ldapadd -Y EXTERNAL -H ldapi:/// -f change-log-level.ldif SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 modifying entry "cn=config"
și verificăm faptul că a fost încărcat corespunzător:
root@ldap-server:~# ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b "cn=config" -s base olcLogLevel SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 dn: cn=config olcLogLevel: stats
În exemplul de mai sus am creat un fișier LDIF care a modificat valoarea atributului olcLogLevel
la valoarea stats
. Putem observa informațiile de jurnalizare generate de serverul de LDAP în fișierul /var/log/syslog
de pe stația server; eventual facem niște cereri de interogare LDAP (folosind ldapsearch
) de pe stația client.
Exercițiu: Modificați nivelul de jurnalizare al serverului LDAP astfel încât să jurnalizeze și mesaje de tipul stats
și mesaje de tipul stats2
. E ceva simplu