User:Bognaar.Szabolcs/LDAP Adattovábbítási Formátum

Az LDAP Adattovábbítási Formátum [LDAP Data Interchange Format (LDIF)] 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éseink 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ék-tí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 (&amp;amp;) kódolja ahelyett, hogy magát a karaktert adná át. Az eredmény, amikor egy LDIF fájl bekerül a Thunderbird-be pl. egy szövegelemnél, mint „John & Jane Doe” „John &amp;amp; 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útum-változtatások között. Továbbá minden könyvtárbejegyzés "-"-lel és egy azt követő ures 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 &mdash; The LDAP Data Interchange Format (LDIF) - Technical Specification
 * RFC 4510 &mdash; Lightweight Directory Access Protocol (LDAP): Technical Specification Road Map
 * RFC 4525 &mdash; LDAP Modify-Increment Extension

Külső hivatkozások

 * MSDN : Windows 2003 : Using the LDIFDE Tool
 * MSDN : Active Directory : LDIF Scripts

LDAP Data Interchange Format LDAP Data Interchange Format LDAP Data Interchange Format LDAP Data Interchange Format LDAP Data Interchange Format LDAP Data Interchange Format LDIF LDIF