LDAP – przeszukiwanie bazy danych z linii poleceń

Kilka ćwieczeń jak przeszukiwać bazę danych ldap-a z linii poleceń.

Instalacja koniecznego oprogramowania

Fedora Core 7

Aby korzystać z ćwiczeń z tego tematu należy mieć zainstalowany pakiet openldap-clients oraz oczywisie mieć możliwosc podłączenia do zdalnego lub lokalnego serwera LDAP. Pakiet openldap-clients można zainstalować przy pomocy polecenia:

yum install openldap-clients

Domyślny kontekst

W pliku /etc/openldap/ldap.conf mamy zdefiniowany domyślny kontekst przeszukiwania w zmiennej BASE. Jeżeli jesteście tak samo leniwi jak ja i nie chce się wam cały czas podawać kontekstu przeszukiwania, ustawcie tą zmienną:

BASE    dc=unix4you,dc=net

Określenie kontekstu nazw

ldapsearch -x -h localhost -s base -b "" +

Dokładniej:

ldapsearch -x -h SERVER -s base -b "" + | grep "namingContexts:"

Przeglądanie wpisów w katalogu

ldapsearch -x -h localhost -b "dc=linuxexpert,dc=pl" -s one

Przejrzenie osób w katalogu

ldapsearch -x -h localhost -b "dc=linuxexpert,dc=pl" "(&(objectclass=person)(ou=accounting))"

Przeszukiwanie katalogu połączeniem szyfrowanym i nieszyfrowanym

Jak wiadomo, serwer może koumnikować się z klientem w sposób szyfrowany lub nie. W przypadku zadawania pytań, różnia polega na okresleniu adresu docelowego serwera. W przypadku drogi nieszyfrowanej jest to:

ldapsearch -v -b "dc=linuxexpert,dc=pl" -LLL -D "cn=admin,dc=linuxexpert,dc=pl"  -H "ldap://127.0.0.1/" -W -x

W przypadku drogi szyfrowanej jest to:

ldapsearch -v -b "dc=linuxexpert,dc=pl" -LLL -D "cn=admin,dc=linuxexpert,dc=pl"  -H "ldaps://127.0.0.1/" -W -x

Jak widać różnica polega na wskazaniu innego protokołu przy okreslaniu docelowego serwera. Aby sprawdzić czy faktycznie komunikacja przebiega szyfrowanym kanałem należy użyć jakiegos sniffera.

Przegląd podstawowych przełączników

-x użycie prostej autoryzacji zamiast autoryzacji opartej na SASL
-h host Alternatwyny host z serwerem LDAP
-s base|one|sub Określenie zakresu przeszukiwania bazy, może być jedną z : baza (obiekt bazy) (base), pojedyńczy obiekt (one), lub podrzewo (sub) Domyślnie jest to sub.
-b searchbase Ustawienie „searchbase” jako punktu startowego do przeszukiwań w zamian za domyślny punkt startu.

Przegląd atrybutów

* Wszystkie atrybuty użytkownika zostaną zwrócone
+ Wszystkie operacyjne atrybuty zostaną zwrócone
brak Wszstkie atrybuty użytkownika zostaną zwrócone
1.1 Zadne atrybuty nie zostaną zwrócone

Dodaj komentarz