Pentru început, ne propunem să interogăm baza de date LDAP. Cererile de interogare sunt adresate unui server, care accesează baza de date din spate și returnează informații dintr-un director. Comanda folosită pentru interogare este ldapsearch
.
O modalitate simplă de interogare LDAP este chiar din cadrul serverului LDAP. Pe serverul LDAP, rulați comanda
root@ldap-server:~# ldapsearch -x -b "dc=labs,dc=cs,dc=pub,dc=ro" # extended LDIF # # LDAPv3 # base <dc=labs,dc=cs,dc=pub,dc=ro> with scope subtree # filter: (objectclass=*) # requesting: ALL # # labs.cs.pub.ro dn: dc=labs,dc=cs,dc=pub,dc=ro [...]
Comanda realizează o interogare a serverului LDAP și întoarce intrările aferente arborelui/directorului dc=labs,dc=cs,dc=pub,dc=ro
.
Opțiuna -x
folosește autentificare simplă, în loc de SASL. În cazul de față este vorba de o conectare anonimă, fără interogare. Opțiunea -b
a comenzii ldapsearch
indică punctul din arborele/directorul LDAP de unde se face parcurgerea.
Dacă vrem să nu afișăm informații despre versiunea LDAP sau comentarii LDIF, atunci putem folosi opțiunea -LLL
:
root@ldap-server:~# ldapsearch -x -LLL -b "dc=labs,dc=cs,dc=pub,dc=ro" dn: dc=labs,dc=cs,dc=pub,dc=ro [...]
Ca să interogăm serverul de LDAP de pe stația client va trebui să precizăm care este URI-ul serverului. Pentru a obține un rezultat similar, pe stația client trebuie să rulăm comanda de mai jos:
root@ldap-client:~# ldapsearch -x -LLL -H ldap://ldap-server.local -b "dc=labs,dc=cs,dc=pub,dc=ro" dn: dc=labs,dc=cs,dc=pub,dc=ro [...]
Opțiunea -H
indică URI-ul serverului la care se face conectarea. În cazul de fața este vorba de numele (în forma multicast DNS al) serverului prefixat de șirul ldap://
.
În general, conexiunile LDAP de pe un client se fac către un același server așa că se pot reține URI-ul de conectare și punctul de căutare de arbore în fișierul de configurare /etc/ldap/ldap.conf
. Vom completa, folosind un editor, în fișierul de configurare /etc/ldap/ldap.conf
directivele de configurare BASE
(punctul de căutare – search base) și URI
(URI-ul serverului). În final fișierul de configurare pe client va avea forma de mai jos:
root@ldap-client:~# cat /etc/ldap/ldap.conf # # LDAP Defaults # # See ldap.conf(5) for details # This file should be world readable but not world writable. BASE dc=labs,dc=cs,dc=pub,dc=ro URI ldap://ldap-server.local #SIZELIMIT 12 #TIMELIMIT 15 #DEREF never # TLS certificates (needed for GnuTLS) TLS_CACERT /etc/ssl/certs/ca-certificates.crt
Directivele BASE
și URI
sunt configurate și nu mai este nevoie de folosirea opțiunilor -b
(pentru BASE
), respectiv -H
(pentru URI
) pentru comanda ldapsearch
pe stația client. Acum putem rula comanda simplu:
root@ldap-client:~# ldapsearch -x -LLL dn: dc=labs,dc=cs,dc=pub,dc=ro [...]