LDAP (Lightweight Directory Access Protocol) – ist ein Anwendungsprotokoll aus der Netzwerktechnik. Es erlaubt die Abfrage und die Modifikation von Informationen eines Verzeichnisdienstes (eine im Netzwerk verteilte hierarchische Datenbank) über ein IP-Netzwerk.

Neki osnovni pojmovi :
DIT – Directory Information Tree
OID – Object Identifier – sastoji se od brojeva razdvojenih decimalnim tačkama
SN – surname (prezime), primit k znanju da velika i mala slova nisu bitna
DESC – description
CN – Common Name
DC – Domain Component
GPO – Group Policy Object, deployed over a certain OUs
LDIF – LDAP data Interchange Format
L – location (npr Beograd)
OU – organizational unit. OUs are nested inside domains. OUs primarily will be used to organize the following objects : User accounts, Group accounts, Computers
Every Active Directory structure has to one a domain controller. A domain controller a server that takes care of managing Active Directory, including hosting its database and handling the authorization, authentication and accounting mechanisms. A collection of domains is called a FOREST.
Groups in Active Directory allow you to implement the AAA protocol a lot easier.

GUI alatka (LDAP Admin Tool)
Dobar link.
Daje 14 dana trial verziju, instalacija je veoma jednostavna.
Idealno da se vide klase i generalna struktura AD-a.
Napomena : pri kreiranju konekcije OBAVEZNO pustiti da se automatski definiše Base DN!!!!

Stvari potrebne za start :
IP adresa AD servera i njegov port (obično 389 ili 636) i osnovni DN (domain name, kod mene je to moj.domen).

Neki osnovni svičevi :
-h hostname
-p port number (ako radi na default 389 ne mora se stavljati)
-x tells ldapsearch to perform a simple_authentication (yes, you need this even for anonymous bind)
-b baseDN (moj.domen u ovom slučaju)
-sub – den kompletten Teilbaum unterhalb des BaseDN durchsuchen. Ist kein Scope angegeben, gilt sub.

CLI LDAP upiti :
Napomena : pri pretrazi se mogu koristiti : * (bilo koji karakteri u bilo kom broju), & (AND), ! (negacija navedenog), | (OR)
* Podaci o serverima koji drže AD u mreži :
# host -av moj.domen
*Svi podaci sa AD-a (paziti, baš je gomila!), pri čemu se koristi nalog veldaebel za upit, znači taj nalog treba da ima kompletna (RO) prava nad AD-om :
# ldapsearch -h IP-AD -x -D “veldaebel@moj.domen” -b “dc=moj,dc=domen” -W
Svi podaci o Petru Petroviću ;
# ldapsearch -h IP-AD -x -D “veldaebel@moj.domen” -b “dc=moj,dc=domen” -W “(cn=petar petrovic)”
-h – specifikacija AD servera (IP ili ime)
-x – koristiti običnu autentifikaciju, a ne SASL
-D – Use the Distinguished Name binddn to bind to the LDAP directory
-b – baseDN po kojoj se pretražuje
-W – da se vrši upit za lozinku
Napomena : specijalni (nestandardni) atributi se ne mogu dobiti ovim upitom! Ali zato se mogu eksplicitno tražiti :
# ldapsearch -h IP-AD -x -D “veldaebel@moj.domen” -b “dc=moj,dc=domen” -W “(cn=petar petrovic)” mail ipphone
Enter LDAP Password:
…..
ipPhone: 2222
mail: petar.petrovic@moj.domen
…..
A ako hoćemo da od celog izlaza za ovog korisnika vidimo SAMO ova dva podatka :
# ldapsearch -h IP-AD -x -D “veldaebel@moj.domen” -b “dc=moj,dc=domen” -W “(cn=petar petrovic)” mail ipphone |grep -E ‘mail:|ipPhone:’
Enter LDAP Password:
ipPhone: 2222
mail: petar.petrovic@moj.domen

Oznake, imena i opisi pojedinačnih atributa unutar AD-a – link.
Paziti da se pretraga vrši po podacima a NE po “operational attributes”, “Root DSE Entry”, “ACI Attributes”, “Schema Entry”, “Monitoring entry” ili “configuration entry”. Vrsta upita je određena dodatnim DC-om u baseDN-u, koji stoji na prvom mestu. Odličan link koji to objašnjava.