01. [10p] Folosire client LDAP pentru interogare

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
[...]
saisp/labs/01/contents/01.txt · Last modified: 2014/02/24 22:25 by razvan.deaconescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0