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
Kategória:Internetes protokollok Kategória:Címtárkiszolgálók Kategória:Fájlformátumok