LDAP (Lightweight Directory Access Protocol) je protokol pro přístup a modifikaci dat na adresářovém serveru. Adresářový server obsahuje obvykle taková data, která se často nemění, jako informace o zaměstnancích, uživatelích nebo telefonních číslech. Data jsou representována objekty a atributy a uspořádána do stromové strukutury. Strom obvykle odpovídá geografickému nebo organizačnímu uspořádání dat, která uchovává, a pro nejvyšší úrovně často využívá DNS jmen. Například seznam zaměstnanců Chicagské pobočky společnosti ACME by byl v adresáři employees.chicago.acme.org.
Definici dat v adresáři zajišťuje LDAP Schema, které definuje třídy, povinné a volitelné atributy a dědičnost mezi třídami. Každý záznam v adresáři je instancí nějaké třídy.
Příklad definice třídy a atributu z core.schema
objectclass ( 2.5.6.2 NAME 'country' DESC 'RFC2256: a country' SUP top STRUCTURAL MUST c MAY ( searchGuide $ description ) )
attributetype ( 2.5.4.4 NAME ( 'sn' 'surname' ) DESC 'RFC2256: last (family) name(s) for which the entity is known by' SUP name )
K LDAP serveru se dá přistupovat pomocí konzolových nástrojů ldapsearch, ldapadd, ldapmodify, ldapremove a GTK programu GQ. Všechny nástroje pro manipulaci s LDAP daty pracují s daty ve formátu LDIF. Záznamy obsahují jednoznačný identifikátor Distinguished Name (DN). Nejlevější složka DN se označuje jako Relative Distinguished Name (RDN). Na ukázkovém LDIF souboru
dn: cn=John Doe,dc=employees ,dc=chicago ,dc=acme,dc=org cn: John Doe givenName: John sn: Doe telephoneNumber: +1 888 555 6789 objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person objectClass: top
je Distinguished Name cn=John Doe,dc=employees ,dc=chicago ,dc=acme,dc=org
, Relative Distinguished Name je cn=John Doe
LDIF obsahuje položky
dn | Distinguished Name |
objectClass | Třída, které je objekt instanci. Může obsahovat více objectClass, pokud třídy od sebe dědí nebo pokud jsou pomocné. |
dc | Domain component |
cn | Common name |
telephoneNumber, givenName | Atributy závislé na třídách |