LDAP adattovábbítási formátum
Az LDAP adattovábbítási formátum (LDAP Data Interchange Format) egy általános szöveges (plain text) adattovábbítási formátum az LDAP (Lightweight Directory Access Protocol) könyvtártartalmának és frissítési kéréseinek kifejezésére. Az LDIF rekordok halmazaként továbbítja a könyvtártartalmakat, egy rekord minden egyes objektumnak (vagy bejegyzésnek). A frissítési kéréseket is, úgymint Add, Modify, Delete, és Rename, rekordhalmazként reprezentálja; lekérdezésenként külön-külön rekordok.
Az LDIF-et a ’90-es évek elején Tim Howes, Mark C Smith és Gordon Good tervezte a University of Michigan-en. A ’90-es évek végén frissítették és kiterjesztették, hogy együtt tudjon működni a 3-as LDAP-pal. Ezt a későbbi módosulatot 1-es verziónak nevezték el, és formálisan leírták az RFC 2849-es szabványban (IETF Standard Track RFC). Az RFC 2849-es szabvány Gordon Good engedélyével 2000 júniusában publikálták, és mára Javasolt Szabvánnyá (Proposed Standard) vált.
Kiegészítések sokaságát javasolták az LDIF-hez az évek alatt. Ezek közül egyet formálisan részletezett és publikált az IETF. Az RFC 4525-ös szabvány Kurt Zeilenga engedélyezésében egy kiterjesztést ad az LDIF-hez, hogy együttműködjön az LDAP Modify-Increment kiterjesztésével. Ez várhatóvá tette, hogy az IETF további kiegészítéseket fog publikálni.
Tartalomrekord formátum
Minden tartalomrekordot attribútumok egy csoportja fejez ki, és a rekordokat üres sorok választják el egymástól. A rekord egyes attribútumait egy-egy logikai sor alkotja (egy vagy több fizikai sor speciális sorösszekapcsoló mechanizmussal), „név: érték” formában. Az az értékadat, amely nem passzol egyetlen ASCII karakterkészlet hordozható részhalmazába sem, '::'-tal van jelölve a neve után és ASCII kóddá van alakítva base64-es kódolás használatával. A tartalomrekord formátum részhalmaza az Internet Directory Information típusnak RFC 2425.
Eszközök, melyek az LDIF-et alkalmazzák
Az OpenLDAP felhasználói programok tartalmaznak eszközöket, melyek adatokat továbbítanak LDAP szerverekből LDIF tartalomrekordokba (ldapsearch), adatokat olvasnak be LDIF tartalomrekordokból LDAP szerverekbe (ldapadd), és változtatásokat érvényesítenek LDIF változás-rekordokból LDAP szerverekbe (ldapmodify).
Az LDIF egy olyan formátum, mely alkalmas importálni és exportálni címjegyzéki adatokat a Netscape Communicator és a Mozilla Application Suite címjegyzéktípusaiból. A Yahoo! Mail nem kódol megfelelően néhány karaktert, amikor a Yahoo! címjegyzékből átkerülnek az adatok LDIF formátumba. Például az ’és’ jelet [ampersand (&)] HTML Extended Character-ként (&) kódolja ahelyett, hogy magát a karaktert adná át. Az eredmény, amikor egy LDIF fájl bekerül a Thunderbirdbe pl. egy szövegelemnél, mint „John & Jane Doe” „John & Jane Doe”-ként kerül be a címjegyzékbe. Egyelőre az egyetlen javítási lehetőség, ha kézzel helyesbítjük az adatokat az importálás után.
A Microsoft Windows 2000 Server és a Windows Server 2003 tartalmaz egy LDIF alapú parancssori eszközt, melyet LDIFDE-nek neveznek, az Active Directory-ban történő adatmozgatásra (importing és exporting).
A JXplorer egy keresztplatformos nyílt forráskódú Java-alkalmazás, amely képes keresni és alapműveleteket végezni LDIF-fájlokon.
LDIF mezők
dn: distinguished name (megkülönböztető név)
Ez azonosítja a könyvtár elemének egyedi azonosítónevét.
dc: domain component (tartomány összetevő)
Ez azonosítja a tartomány minden egyes összetevőjét. Például a ’www.google.com’-ot ’DC=www,DC=google,DC=com’-ként kell írni.
ou: organizational unit (szervezeti egység)
Ez azonosítja a szervezeti egységet (vagy néha a felhasználói csoportot), melynek a felhasználó tagja. Ha a felhasználó több csoportnak is tagja, akkor mindhez meg kell adni ezt a tagot, pl. OU= Lawyer,OU= Judge.
cn: common name (közös név)
Ez azonosít egy egyedi objektumot (személy neve; találkozási terem; recept neve; munka megnevezése; stb.), melyet lekérdezünk.
LDIF példák
Ez a példa egy egyszerű könyvtárbejegyzést mutat be sok attribútummal, LDIF rekordként reprezentálva: dn: cn=The Postmaster,dc=example,dc=com
objectClass: organizationalRole cn: The Postmaster
Ebben a példában egy LDIF rekordot mutatunk be, amely több egyértékű attribútumot módosít két különböző könyvtárbejegyzésben (ezt a formátumot a Microsoft's LDIFDE használja):
dn: CN=John Smith,OU=Legal,DC=example,DC=com changetype: modify replace:employeeID employeeID: 1234 - replace:employeeNumber employeeNumber: 98722 - replace: extensionAttribute6 extensionAttribute6: JSmith98 - dn: CN=Jane Smith,OU=Accounting,DC=example,DC=com changetype: modify replace:employeeID employeeID: 5678 - replace:employeeNumber employeeNumber: 76543 - replace: extensionAttribute6 extensionAttribute6: JSmith14 -
Megjegyzés: a "-" karakter szükséges az attribútumváltoztatások között. Továbbá minden könyvtárbejegyzés "-"-lel és egy azt követő üres sorral zárul. Az utolsó "-" is szükséges.
Ez a példa egy LDIF fájlt mutat, mely egy létező felhasználóhoz hozzáad egy telefonszámot:
dn: cn=Peter Michaels, ou=Artists, l=San Francisco, c=US changetype: modify add: telephonenumber telephonenumber: +1 415 555 0002
Egy LDIF példa, amely vezérlést tartalmaz:
version: 1 dn: o=testing,dc=example,dc=com control: 1.3.6.1.1.13.1 false cn changetype: add objectClass: top objectClass: organization o: testing
Referenciák
- RFC 2849 – The LDAP Data Interchange Format (LDIF) – Technical Specification
- RFC 4510 – Lightweight Directory Access Protocol (LDAP): Technical Specification Road Map
- RFC 4525 – LDAP Modify-Increment Extension
Források
- MSDN : Windows 2003 : Using the LDIFDE Tool
- MSDN : Active Directory : LDIF Scripts
Informatikai portál • összefoglaló, színes tartalomajánló lap