Verziótörténet | ||
---|---|---|
Verzió: 1.09 | 2004.03.05 | |
OpenLDAP 2.2 és általános javítások. | ||
Verzió: 1.08 | 2003.04.02 | |
SASL, DIGEST-MD5 hitelesítéssel. | ||
Verzió: 1.07 | 2002.09.16 | |
Szedési javítások. | ||
Verzió: 1.06 | 2002.07.17 | |
Áttérés a Docbook XML standard formátumra, a szöveg teljes felülvizsgálata. OpenLDAP 2.1 bemutatása. | ||
Verzió: 1.05 | 2001.06.22 | Átdolgozta: lepm |
Megoldás a "hosszú sorok" problémára (a doksi PDF formában szétcsúszott). | ||
Verzió: 1.04 | 2001.02.28 | Átdolgozta: lepm |
Tipográfiai javítások, és a "Roaming Access", "Azonosítás LDAP segítségével" fejezetek frissítése. | ||
Verzió: 1.03 | 2000.09.28 | Átdolgozta: lepm |
Az OpenLDAP 2.0 bemutatása, ami már az LDAP v3-at tartalmazza, idevágó szabvány: RFC2251 | ||
Verzió: 1.02 | 2000.09.13 | Átdolgozta: lepm |
Szöveg javítások, új fejezet a "Verziótörténet". | ||
Verzió: 1.01 | 2000.02.15 | Átdolgozta: lepm |
Új fejezetek az "LDAP migrációs eszközök", "Azonosítás LDAP használatával", "Grafikus LDAP eszközök", "RFC-k" | ||
Verzió: 1.00 | 1999.06.20 | Átdolgozta: lepm |
A legelső változat. |
Egy másik démon gondoskodik az LDAP szerverek közötti replikációról. Ezt slurpd-nek hívják, és egyelőre nem foglalkozunk vele. Ez a dokumentáció a slapd démonról szól, amely lokális hálózatokon nyújt címtárszolgáltatást, replikáció - vagyis slurpd - nélkül. További információt a többszörözésről a OpenLDAP Administrator's Guide (OpenLDAP adminisztrátorok kézikönyve) dokumentumban találsz.
Az LDAP szervernek ez az egyszerű beállítása megfelelő kezdés lesz, amelyet később könnyen továbbfejleszthetsz, ha akarsz. Ez a dokumentáció bemutatja az LDAP protokoll használatához szükséges kezdeti lépéseket. Lehetséges, hogy miután végigérünk a dokumentumon elég erőt érzel majd magadban a további fejlesztői munkához, a szerver lehetőségeinek minél teljesebb kihasználásához - sőt, saját kliens programozásához - a fellelhető C, C++ és Java fejlesztő eszközökkel.
Az LDAP betűszó az angol "Lightweight Directory Access Protocol" (könnyű címtár elérési protokoll) kifejezésből származik. Ahogy a név is sugalmazza az LDAP kliens-szerver protokoll, címtár szolgáltatás eléréséhez, melyet eleinte főleg X.500 hozzáféréshez alkalmaztak. Az LDAP TCP/IP vagy más kapcsolat orientált átviteli szolgáltatást használhat. Az LDAP az RFC2251-ben - "The Lightweight Directory Access Protocol (v3)" - van definiálva. (Még egy URL: RFC2251 - a fordító)
A címtár olyan, mint egy adatbázis, de arra törekszik, hogy magába foglaljon egy részletesebb, tulajdonság alapú információkezelést. Általában az információt a címtárban gyakrabban olvassák, mint írják. Ennek következtében a címtárak általában nem alkalmaznak bonyolult tranzakció kezelést vagy roll-back rendszereket, amiket általában az adatbáziskezelők használnak a nagy méretű, összetett frissítésekhez. A címtár aktualizálása tipikusan egyszerű, mindent vagy semmit jellegű változás. A címtárakat összetett kérdések gyors megválaszolására hangolták. Képes arra, hogy széles körben sokszorosítsa az információkat azért, hogy növelje az elérhetőséget és a rendelkezésre állást, miközben a válaszidőt csökkenti. A többszörözött címtár információk egyes példányai között átmeneti rendezetlenség megengedett, de a többszörözések (replica) végül szinkronba kerülnek.
Sok különböző lehetőség van címtár szolgáltatás nyújtására. Különböző eljárásokkal más és más információk tárolhatók a címtárban, különböző követelmények szerint lehet hivatkozni az információkra, lekérdezni és frissíteni az adatokat, megvédeni azokat a meg nem engedett hozzáféréstől, stb. Néhány címtár szoláltatás lokális, és korlátozott környezetben nyújt szolgáltatásokat (például a finger szolgáltatás önálló gépen). Más szolgáltatások globálisak, széles körben elérhetőek.
BDB segédeszközök: Sleepycat Berkeley DB 4. LDBM segédeszközök: Berkeley DB vagy a GDBM.
A BDB tranzakciós hátér adatbázist többfelhasználós olvasási/írási adatbázis elérésre fejlesztették ki, mindenféle olvasási/írási művelet kombinációjával. A BDB olyan programokkal használható együtt, melyekhez szükségesek a következők:
Tranzakciók, beleértve a többszörös változtatást az adatbázison, a visszaállítás lehetőségével együtt.
A rendszerösszeomlásokból és hardverhibákból fakadó hibák helyreállításának képessége, minden lezajlott tranzakció elvesztése nélkül.
Ez a leírás a BDB háttér adatbázis használatát feltételezi.
A címtár információk importálása és exportálása két LDAP alapú címtárszolgáltató szerver között, és a címtárakban alkalmazott változások leírása az LDIF formátumként ismert (LDAP Data Interchange Format; LDAP adatcserélési formátum) fájlokkal lehetséges. Az LDIF fájl a bejegyzéseket objektum orientált hierarchikus formában tárolja. Az LDAP csomag tartalmazza az LDIF fájlok BDB formátumba konvertálásához szükséges eszközöket.
Egy LDIF fájl általában így néz ki:
dn: o=TUDelft, c=NL o: TUDelft objectclass: organization dn: cn=Luiz Malere, o=TUDelft, c=NL cn: Luiz Malere sn: Malere mail: malere@yahoo.com objectclass: person |
Mint látható, minden bejegyzésnek saját azonosítója van, a distinguished name (DN; megkülönböztető név). A DN a bejegyzés nevéből áll, megtoldva a név elérési útjával vissza a címtár hierarchia csúcsáig (mint egy fánál).
Az LDAP-nál az objektumosztályok határozzák meg a bejegyzések azonosításához használható jellemzők csoportját. Az LDAP standard az alábbi alapvető objektum osztályokat nyújtja:
Group (csoport), független objektumok rendezetlen listája vagy objektumok csoportja.
Location (elhelyezkedés), az országok nevei és leírásuk.
Organization (szervezet).
People (személy).
Egy bejegyzés több objektumosztályhoz is tartozhat. Például a person bejegyzést definiálja a person objektumosztály, de szintén definiálják az inetOrgPerson, groupOfNames és organization objektumosztályok. Az LDAPserver objektumosztály struktúráját (sémáját) meghatározza az egyes bejegyzések számára szükséges és engedélyezett attribútumok egyéni listája.
A címtár az adatokat jellemző-érték (attribute-value) párosként jeleníti meg. Az információ meghatározott darabjai a leíró attribútumhoz tartoznak.
Például, a commonName (köznév), vagy cn attribútum az egyének nevét tárolja. A Jonas Salk nevű embert a címtárban a következő bejegyzés azonosítja:
cn: Jonas Salk |
Minden, a címtárban bejegyzett egyént a person objektumosztályban tárolt jellemzők csoportja ír le. Más jellemzőket is lehet ugyanabban a bejegyzésben használni:
givenname: Jonas surname: Salk mail: jonass@airius.com |
A bejegyzéshez szükséges jellemzőket tartalmaznia kell a használt objektumosztálynak. Minden bejegyzésnek tartalmaznia kell az objectClass-t, ami a bejegyzéshez tartozó objektumosztályok listáját tartalmazza.
Az engedélyezett jellemzőknek szerepelnie kell a használt objektumosztályban. Például, a person objektumosztályban a cn és sn jellemzők szükségesek. A leírásban a telephoneNumber, seeAlso és userpassword jellemzők engedélyezettek, de nem szükségesek.
Minden attribútumnak meghatározott szintaxis-definíciója van. A szintaxis-definíció információt nyújt a jellemzőről, mint például:
bin binary (bináris)
ces case exact string (betűnagyságnak meg kell egyeznie az összehasonlítás során).
cis case ignore string (betűnagyságnak nem kell egyeznie az összehasonlítás során).
tel telephone number string (olyan, mint a cis, de a "-" kihagyásával).
dn distinguished name (megkülönböztető név).
Figyelem! Az objektumosztályok és a jellemzők általában egy - az OpenLDAP telepítési könyvtárában a schema alkönyvtárban található séma-fájl szerint állnak össze.
Ha bármilyen kétség merül fel benned valamilyen, az angol dokumentumban található információval kapcsolatban, angolul írj levelet erre a malere@yahoo.com e-mail címre
Egyéb, a témába vágó hozzáfűzni valód, javaslatod, ötleted is várom!
Karl Lattimer megérdemelne egy különdíjat a SASL részben nyújtott segítségéért.
Ha kérdésed van látogass el a http://www.gnu.org/licenses/fdl.txt oldalra, és lépj kapcsolatba a LINUX-HOGYAN koordinátorával az guylhem@metalab.unc.edu e-mail címen.
A magyar fordítást Halász Gábor készítette (2000). A fordítást Völgyi Péter frissítette (2004.01.26). A frissítést lektorálta Kormos György (2004.03.16). Az utolsó frissítést Daczi László jelenleg is végzi. Eme dokumentum legfrissebb változata megtalálható a Magyar Linux Dokumentációs Projekt honlapján.
Öt lépés szükséges a szerver telepítéséhez:
Az OpenSSL TLS programkönyvtárai általában az alaprendszer részét képezik, vagy opcionális programrészként jelennek meg. Az OpenSSL hivatalosan a http://www.openssl.org webhelyen található.
Azonosítás Kerberos-szal
Az OpenLDAP kliensek és szerverek támogatják a Kerberos alapú azonosítást. Az OpenLDAP kiemelten támogatja a Heimdal vagy MIT Kerberos V alapú SASL/GSSAPI azonosítási metódust. Ennek a használatához a megfelelő csomagokat (Heimdal vagy MIT Kerberos V) telepíteni kell. A Heimdal Kerberos a http://www.pdc.kth.se/heimdal, a MIT Kerberos a http://web.mit.edu/kerberos/www webhelyen található meg.
A Kerberos szintű, emelt biztonsági fokú azonosítás használata erősen javasolt.
A Cyrus féle SASL programkönyvtárak
A Cyrus féle SASL (Simple Authentication and Security Layer; egyszerű azonosítás és biztonsági szint) programkönyvtárak általában az alaprendszer részét képezik, vagy kiegészítő csomagokként találhatóak meg. A Cyrus SASL a http://asg.web.cmu.edu/sasl/sasl-library.html webhelyen található meg. A Cyrus SASL csak akkor tudja használni az OpenSSL és a Kerberos/GSSAPI programkönyvtárakat, ha azokat előbb telepíted nála. A dokumentum írása során a Cyrus SASL 2.1.17 verzióját használtam.
Adatbázis szoftverek
A Slapd's elsődleges adatbázis háttere a BDB, működéséhez szükséges a Sleepycat Software Berkeley DB (v4). Amennyiben a beállításkor nem áll rendelkezésre, akkor a slapd-t nem lehet elsődleges hátttér adatbázissal használni.
Ha nincs sem az alap Linux rendszereden, sem kiegészítő csomagként Berkeley DB (v4), a legegyszerűbben a Sleepycat webhelyen lehet hozzájutni. A dokumentum frissítése idején a legújabb stabil, és ajánlott verzió a 4.2.52-es. Az OpenLDAP slapd LDBM háttér többféle adatbázis kezelő, menedzselő felület használatát támogatja, így például a Berkeley DB (v3) és a GDBM használatát is. A GDBM letölthető az FSF webhelyéről, amely a ftp://ftp.gnu.org/pub/gnu/gdbm/ honlapon található.
Szálak
A többszálúság nagy valószínűséggel alapértelmezetten támogatott a Linux rendszereden. Az OpenLDAP-t úgy tervezték, hogy ennek előnyeit kihasználhassa. Az OpenLDAP támogatja a POSIX pthread, a Mach CThread és még számos más szálkezelési technológiát. A konfigurációs szkript jelez, ha nem talál alkalmas szálkezelési rendszert. Amennyiben ilyesmi fordulna elő keresd fel az OpenLDAP GYIK-et, amely a http://www.openldap.org/faq/ honlapon található.
TCP szűrők
A Slapd támogatja a TCP szűrők (IP szintű hozzáférés szűrők) használatát, amennyiben az előbb lett telepítve mint a slapd. A TCP szűrő vagy más IP alapú hozzáférés szűrő (mint egy IP alapú tűzfal) használata javasolt nem publikus szerverek adatainak védelmére.
Az aktuális OpenLDAP verziót a http://www.openldap.org webhelyen találod meg.
A University of Michigan Server legfrissebb változata az ftp://terminator.rs.itd.umich.edu/ldap webhelyen található.
Ennek a dokumentumnak a megírásához az OpenLDAP 2.2.5-os változatát használtam, rendszerem a Mandrake 9.0, 2.4.20-as rendszermaggal.
Az OpenLDAP webszerverén megtalálod az OpenLDAP szerver legutolsó stabil és fejlesztői változatát. A dokumentum frissítésekor az utolsó stabil változat az openldap-stable-20031217.tgz (v: 2.1.25), a fejlesztői változat az OpenLDAP-2.2.5.tgz.
Ha az betömörített csomag rendelkezésre áll a számítógépen, tömörítsük ki.
tar xvzf openldap-2.2.5.tgz |
Ugyanilyen jól használható a következő is:
gunzip openldap-2.2.5.tgz | tar xvf - |
./configure --help |
./configure |
Figyeld a kimenetét, hogy lásd, minden a megfelelően történik-e.
env CPPFLAGS=-I/usr/local/openssl/include \ LDFLAGS=-L/usr/local/openssl/lib \ configure --with-tls ... |
make depend |
Majd a szerver fordításához a következő parancsot kell használni:
make |
Ahhoz, hogy biztosak legyünk a dolgunkban, futtassunk egy tesztet is (csak néhány percről van szó):
make test |
su root -c 'make install' |
Ez minden, most már megvannak a szerver és sok segédprogram bináris fájljai. A következő 3 fejezetben az OpenLDAP szerver működésének beállításáról lesz szó .
# global configuration directives <global config directives> # backend definition backend <typeA> <backend-specific directives> # first database definition & config directives database <typeA> <database-specific directives> # second database definition & config directives database <typeB> <database-specific directives> # second "typeA" database definition & config directives database <typeA> <database-specific directives> # subsequent backend & database definitions & config directives ... |
access to <what> [ by <who> <accesslevel> <control> ]+ |
Ezen opció biztosítja az <accesslevel> által meghatározott módon (hogyan?) a <what>> által meghatározott bejegyzésekhez (mit?) és tulajdonságokhoz a <who> által meghatározott kérelmezők (ki?) hozzáférését. Részletek az 3.7 részben.
Fontos: amennyiben nincs hozzáférési direktíva meghatározva, úgy az alapértelmezett hozzáférési szabály az access to * by * read, engedélyezi mind az azonosított, mind az anonymus felhasználóknak az olvasási jogot.
attributetype <RFC2252 Attribute Type Description> |
Ez a direktíva egy paraméter típust határoz meg. További információt találsz a Schema Specification (minta) leírásban.
idletimeout <integer> |
Meghatározza egy meddő kapcsolat bezárásának idejét. (Ennyi másodperc múlva kezdeményezi a kapcsolat megszakítását). A 0 érték (alaphelyzet) kikapcsolja ezt a funkciót.
include <filename> |
Ez az opció meghatározza azokat a konfigurációs állományokat, amelyeket a slapd végigolvas, mielőtt a következő sorral folytatná a fájl feldolgozását. A beemelt fájlnak követnie kell a slapd konfigurációs formátumát. Ezt a lehetőséget az adatbázis-háttér objektumosztályainak és attribútumainak definícióit tartalmazó fájlok beemelésére használható.
Megjegyzés: óvatosan kezelendő ez az opció. Semmi nem korlátozza az egymásba ágyazott include-ok számát, és nincs hurokellenőrzés sem.
loglevel <integer> |
Ez az opció specifikálja, hogy milyen hibakövető üzenetek és működési statisztikák kerüljenek az syslog-ba (jelenleg a syslogd-n(8) keresztül LOCAL4 jellemzővel kerülnek naplózásra az események). Ehhez az OpenLDAP-t --enable-debug kapcsolóval (alaphelyzet) kell fordítani a slapd-t, (kivéve a két stat szintet, amelyek mindig működnek). A loglevel értékei összeadódnak. Annak megjelenítéséhez,hogy melyik érték milyen üzeneteket eredményez, a slapd-t -? paraméterrel kell meghívni. Az értékek megtalálhatóak az alábbi táblázatban is (<integer>):
Táblázat 3-1. Hibakereső szintek
Szint | Leírás |
---|---|
-1 | enable all debugging (minden hibakövetés engedélyezve) |
0 | no debugging (nincs hibakövetés) |
1 | trace function calls (funkcionális hívások követése) |
2 | debug packet handling (csomagkezelés hibakövetése) |
4 | heavy trace debugging (kiterjedt hibakeresés) |
8 | connection management (kapcsolatkezelés) |
16 | print out packets sent and received (küldött és fogadott csomagok listázása) |
32 | search filter processing (kereső szűrő feldolgozása) |
64 | configuration file processing (konfigurációs fájl feldolgozása) |
128 | access control list processing (hozzáférési jogosultság lista feldolgozása) |
256 | stats log connections/operations/results (statisztika: napló kapcsolat/művelet/eredmény) |
512 | stats log entries sent (statisztika: elküldött naplóbejegyzések) |
1024 | print communication with shell backends (shell háttér kommunikáció megjelenítése) |
2048 | print entry parsing debugging (bejegyzés-fordítás hibakövetése) |
Ez nagyon sok üzenetet eredményez a syslog-ban.
objectclass <RFC2252 Object Class Description> |
Ez az opció definiálja a séma szabályokat az adott objektum-osztályokhoz. További információt találsz a Schema Specification (minta) leírásban.
referral <URI> |
Ez specifikálja, hova küldje a slapd a kérést, ha nem talál információt a kérés megválaszolásához a helyi adatbázisban.
Példa:
referral ldap://root.openldap.org
Ez átirányítja a nem lokális kéréseket a központi OpenLDAP szervernek (University of Michigan LDAP szerver - a fordító). Az ügyes LDAP kliensek újra felteszik a kérdést ennél a szervernél, de a legtöbb kliens csak arra képes, hogy egyszerű LDAP URL-eket kezeljen, melyek csak host részből és esetleg distinguished name-ből állnak.
sizelimit <integer> |
Ez az lehetőség maximalizálja a keresésre adott válasz sorainak számát.
Alapértelmezett:
sizelimit 500
timelimit <integer> |
Ez a kapcsoló specifikálja egy kérdés megválaszolására szánható maximális időt, másodpercekben (valós időben). Ha a kérést ez idő alatt nem sikerül megválaszolni, az eredmény időtúllépéssel (exceeded timelimit) tér vissza.
Alapértelmezés:
timelimit 3600
backend <type> |
Táblázat 3-2. Adatbázis hátterek
Típus | Leírás |
---|---|
bdb | Berkeley DB tranzakciós adatbázis |
dnssrv | DNS SRV háttér |
ldbm | Lightweight DBM hátér |
ldap | Lightweight Directory Access Protocol (Proxy) háttér |
meta | Meta Directory háttér |
monitor | Monitor háttér |
passwd | Read-only hozzáférést biztosít a passwd(5)fájlhoz |
perl | Perl programozható háttér |
shell | Shell (külső program) háttér |
sql | SQL programozható háttér |
tcp | TCP programozható háttér |
Ez a bejegyzés jelzi egy új BDB háttér definíciójának kezdetét.
database <típus> |
Ez egy új BDB típusú adatbázis definíció kezdetét jelzi.
readonly { on | off } |
replica uri=ldap[s]://<hostname>[:<port>] | host=<hostname>[:<port>] [bindmethod={simple|kerberos|sasl}] ["binddn=<DN>"] [saslmech=<mech>] [authcid=<identity>] [authzid=<identity>] [credentials=<password>] [srvtab=<filename>] |
További információt találsz a Replication with Slurpd (Másolat készítése a Slurpd-vel) leírásban.
replogfile <fájlnév> |
Ez az opció állítja be az replikációs log fájlt, ahol a slapd naplózza a változásokat. A replikációs log-ot tipikusan a slapd írja és a slurpd olvassa. Rendszerint ezt a lehetőséget csak a slurpd használja az adatbázis replikációjára. Mindamellett arra is használható, hogy tranzakciós naplót készíts, ha a slurpd nem fut. Ebben az esetben ne felejtsd el rendszeresen darabolni a fájlt, különben kezelhetetlen méretűre nő.
További információt találsz a Replication with Slurpd (Másolat készítése a Slurpd-vel) leírásban.
rootdn <dn> |
Ez az opció specifikálja azt a DN-t, akire nem vonatkozik a hozzáférés szabályozás és az adminisztrációs korlátozások az adatbázis-műveletek során. A DN-nek nem kell bejegyzésre mutatnia a könyvtárban. Viszont mutathat egy SASL identitásra.
Bejegyzés példa:
rootdn "cn=Manager, dc=example, dc=com"
SASL alapú példa:
rootdn "cn=Manager, dc=example, dc=com"
rootpw <jelszó> |
Ez az opció állítja be a fent leírt rootdn jelszavát (amikor a rootdn be van állítva egy DN adatbázisban). (Ez a lehetőség adatbázisok létrehozásakor vagy replikációs szolgáltatások nyújtásakor hasznos. Mindenképpen kerülendő a kódolatlan jelszavak használata. A legkevesebb az /etc/password fájlban található crypt kódolású jelszó használata. A slapd számos más típusú kódolást támogat - a fordító.)
Példa:
rootpw secret
Jelszó-zagyvalék szolgáltatása is megengedett az RFC 2307 szerint. A slappasswd használható a jelszó-zagyvalék létrehozására.
Példa:
rootpw {SSHA}ZKKuqbEKJfKSXhUbHG3fG8MDn9j1v4QN
A zagyvalék (hash) a slappasswd -s secret parancs kiadásakor jön létre.
suffix <dn toldalék> |
A suffix opció specifikálja a kérések DN toldalékát, ami átkerül a háttér-adatbázishoz. Több suffix sor is megadható, de legalább egy szükséges minden adatbázis definícióhoz.
Példa:
suffix "dc=example, dc=com"
A kérések DN-je "dc=example, dc=com" toldalékkal kerülnek az adatbázisba.
Figyelem: Amikor a hátteret - amelyiknek majd a kérést továbbadjuk - kiválasztottuk, a slapd tekintetbe veszi a suffix sor(oka)t minden adatbázis definíciónál abban a sorrendben, ahogy a fájlban előfordulnak. Így, ha az egyik adatbázis toldaléka egy másiknak előtagja, akkor ennek meg kell jelennie a konfigurációs file-ban is.
syncrepl |
Ez az opció használható egy másolt adatbázisnak az eredetivel történő szinkronban tartására. Ezáltal a másolt adatbázis tartalma naprakész lesz az eredeti adatbázis tartalmához képest.
Jelen dokumentum nem részletezi ezt az opciót, mivel egy egyszerű LDAP szerver beállítását tűztük célul. Erről az opciórol további információ a LDAP Sync Replication honlapon található.
updatedn <dn> |
Ez az opció csak a szolga slapd-n értelmezhető, és meghatározza a replika megváltoztatására jogosult DN-t. Ez lehet az a DN, amellyel a slurpd csatlakozik a replikálás során vagy a DN-t azonosítja az SASL indentitással.
Bejegyzés alapú példa:
updatedn "cn=Update Daemon, dc=example, dc=com"
SASL alapú példa:
updatedn "uid=slurpd,cn=example.com,cn=digest-md5,cn=auth"
További információk a Replication with Slurpd (Replikáció a slurpd használatával - angol nyelvű) honlapon találhatók.
updateref <URL> |
Ez az opció csak a szolga slapd-n értelmezhető. A replikán végzett frissítési kérések jóváhagyásának URL-jét (ami majd a kliensekhez kerül) határozza meg. Annyiszor kell meghatározni, ahány URL van.
Példa:
updateref ldap://master.example.net
directory <könyvtár> |
directory /usr/local/var/openldap-data
sessionlog <sid> <limit> |
A syncrepl-ről további információ a LDAP Sync Replication honlapon található.
cachesize <integer> |
dbcachesize <integer> |
dbnolocking |
dbnosync |
directory <könyvtár> |
directory /usr/local/var/openldap-data
index {<attrlist> | default} [pres,eq,approx,sub,none] |
index default pres,eq index uid index cn,sn pres,eq,sub index objectClass eq |
mode <integer> |
access to * by * read |
Ez a hozzáférési direktíva mindenkinek olvasási jogot biztosít.
access to dn=".*, o=U of M, c=US" by * search access to dn=".*, c=US" by * read |
Another way to implement the same access controls is:
access to dn.children="dc=example,dc=com" by * search access to dn.children="dc=com" by * read |
access to dn.subtree="dc=example,dc=com" attr=homePhone by self write by dn.children=dc=example,dc=com" search by peername=IP:10\..+ read access to dn.subtree="dc=example,dc=com" by self write by dn.children="dc=example,dc=com" search by anonymous auth |
access to attr=member,entry by dnattr=member selfwrite |
A hozzáférés szabályozásról rengeteg példa található az OpenLDAP Adminisztrátorok Kézikönyvében. Kattints a linkre: Hozzáférés szabályozás további információkért.
1. # example config file - global configuration section példa konfig fájl - általános beállítások rész 2. include /usr/local/etc/schema/core.schema 3. referral ldap://root.openldap.org 4. access to * by * read |
5. # BDB definition for the example.com 6. database bdb 7. suffix "dc=example,dc=com" 8. directory /usr/local/var/openldap-data 9. rootdn "cn=Manager,dc=example,dc=com" 10. rootpw secret 11. # replication directives 12. replogfile /usr/local/var/openldap/slapd.replog 13. replica uri=ldap://slave1.example.com:389 14. binddn="cn=Replicator,dc=example,dc=com" 15. bindmethod=simple credentials=secret 16. replica uri=ldaps://slave2.example.com:636 17. binddn="cn=Replicator,dc=example,dc=com" 18. bindmethod=simple credentials=secret 19. # indexed attribute definitions 20. index uid pres,eq 21. index cn,sn,uid pres,eq,sub 22. index objectClass eq 23. # database access control definitions 24. access to attr=userPassword 25. by self write 26. by anonymous auth 27. by dn.base="cn=Admin,dc=example,dc=com" write 28. by * none 29. access to * 30. by self write 31. by dn.base="cn=Admin,dc=example,dc=com" write 32. by * read |
Example: rootpw {SSHA}Jq4xhhkGa7weT/0xKmaecT4HEXsdqiYA
11-18. sorok a többszörözési feladatot írják le. Bővebben: Replication angol nyelvű oldalon.
A 20. és 22. sorok a különböző attribútumokért felelős indexeket jelzik
A 24-től a 32. sorok hozzáférési jogosultságokat szabályoznak az adabázison. Minthogy ez az első adatbázis, a szabályozók életbe lépnek minden más bejegyzésre is, amelyek nincsenek még adatbázisban (mint pl. a root DSE). Minden alkalmazható bejegyzésre érvényes, hogy a userPassword attribútum írható a bejegyzés és az 'admin' bejegyzés által. Ezt azonosítási célokra lehet használni, máskülönben nem olvasható. Minden más attribútum írható a bejegyzés és az 'admin' bejegyzés által (mások által nem), és olvashatja minden bejegyzés (akár autentikált, akár nem).
A példa konfigurációs fájl következő része egy másik BDB adatbázist is definiál. Ez az adatbázis a dc=example, dc=net alág kereséseit kezeli, de ugyanaz a lényeg, mint az első adatbázis esetében. Figyeljük meg, hogy a 39. sor nélkül olvasási jogot mindenki, az általános beállítások 4. sorának megfelelően kap.
33. # BDB definition for example.net 34. database bdb 35. suffix "dc=example,dc=net" 36. directory /usr/local/var/openldap-data-net 37. rootdn "cn=Manager,dc=example,dc=com" 38. index objectClass eq 39. access to * by users read |
-f <fájlnév> |
-h <URL-ek> |
-n <szolgáltaltás-név> |
Itt adható meg a naplózásra és más célokra szolgáló szolgáltatás neve. Alapértelmezett: slapd.
-l <syslog-local-user> |
Ez a paraméter határozza meg a helyi felhasználót a syslog(8) lehetőség használatához. Lehetséges értékek: LOCAL0, LOCAL1, LOCAL2, ..., és LOCAL7. Az alapértelmezés: LOCAL4. Ez az opció nem használható minden rendszer alatt. További információkat lásd a 6.5 fejezetben.
-u user -g group |
Itt adható meg a felhasználó és a csoport, akinek a nevében fut a slapd. Mind a <user≶, mind a <group≶ megadható névvel vagy uid-del.
-r directory |
Ez a paraméter határozza meg a futás idejű könyvtárat. . Ez lesz a slapd chroot(2) könyvtára az indítás után, még mielőtt felolvasná a konfigurációs fájlokat vagy inicializálná a háttereket.
-d <szint> | ? |
Ez az opció beállítja az slapd hibakereső értékét a <szint>-re. Amikor a szint a '?' karakter, a különböző hibakereső szinteket írja ki és kilép a slapd attól függetlenül, hogy milyen egyéb opció lett még beállítva. A jelenlegi hibakereső szintek a következők:
Táblázat 4-1. Hibakövetés szintje
Level | Leírás |
---|---|
-1 | minden hibakövetés engedélyezése |
0 | nincs hibakövetés |
1 | funkció hívások nyomkövetése |
2 | csomagkezelés követése |
4 | alapos nyomkövetés |
8 | kapcsolatkezelés |
16 | fogadott és küldött csomagok kiírása |
32 | mintakeresés feldolgozása |
64 | konfigurációs fájl feldolgozása |
128 | hozzásférésszabályozási lista feldolgozása |
256 | kapcsolatok/műveletek/eredmények naplózása |
512 | küldött bejegyzések naplózása |
1024 | a háttérkommunikáció kiírása |
2048 | bejegyzések elemzésének kiírása |
Általában a slapd a követlezőképpen fut:
/usr/local/etc/libexec/slapd [<option>]* |
A slapd démon biztonságos leállításához ehhez hasonló parancs szükséges:
kill -INT `cat $(ETCDIR)/slapd.pid` |
Az OpenLDAP programcsomag tartalmazza az ldapadd programot, a bejegyzések online hozzáadásához, vagyis amíkor az LDAP szerver fut. Amennyiben az online módszert választod az adatbázis létrehozására, ezt az eszközt kell használnod a bejegyzések hozzáadásához (más, OpenLDAP csomagon kívüli eszközöket is használhatsz, mint amilyen az Ldap Browser). Az első bejegyzések hozzáadása után még további bejegyzések felvétele is lehetséges. Mindenképpen szükséges a következő konfigurációs opciók beállítása a slapd indítása előtt:
suffix <dn> |
Az 3.4 fejezetben leírtak szerint ez az opció mondja meg, milyen bejegyzések kerülnek ebbe az adatbázisba. Be kell állítani a létrehozandó részfa gyökerének DN értékét:
suffix "o=TUDelft, c=NL" |
Specifikáni kell a könyvtárat, ahol az index file-ok létrejönnek:
directory /usr/local/tudelft |
Lehetővé kell tenni, hogy csatlakozhass a slapdhez mint címtár-felhasználó bejegyzések hozzáadásának jogával. Beállítható úgy a címtár, hogy támogassa a super-user-t, vagy root felhasználót erre a célra.
Ez a következő két opció segítségével lehetséges az adatbázis létrehozása során:
rootdn <dn> rootpw <passwd> /* Mindenképpen kódolt jelszót használj!!! */ |
Ez a két opció határozza meg az adatbázis adminisztrátoraként használható bejegyzés DN-jét és jelszavát (akinek minden tevékenység engedélyezett). Az itt meghatározott DN és a jelszó mindig működik, attól függetlenül, hogy a bejegyzés vagy a jelszó valóban létezik-e. Ez megoldja a tyúk és a tojás problémáját, vagyis hogyan azonosítható az adminisztrátor, és hozhatók létre rekordok mielőtt bármilyen bejegyzés létezne.
A slapd megérti ha SHA-1 kódolású jelszavakat használsz a rootpw direktívában. Én egy Java osztályt használtam SHA-1 szintű jelszavak létrehozására, de használható a slappasswd parancs is jelszavak generálására.
slappasswd -h {SHA} |
rootpw "{SHA}5en6G6MezRroT3XKqkdPOmY/BfQ=" |
Például:
rootdn "cn=Manager,dc=example,dc=com" rootpw "{SHA}5en6G6MezRroT3XKqkdPOmY/BfQ=" |
The default output for slappasswd is to generate Secure Hash passwords {SSHA}, in this case you don't need to pass the -h parameter, just call slappasswd directly.
Amennyiben SASL-t használsz a rootpw sort ki kell szedni. Vess egy pillantást a 3.4 és a 6.2 (Autentikáció) fejezetre.
Végül, az adatbázis definícióinak tartalmaznia kell az szükséges indexek definícióit:
index {<attrlist> | default} [pres,eq,sub,none] |
Például, a cn, sn, uid és objectclass attribútumok indexét a következő index konfigurációs sor hozza létre:
index cn,sn,uid pres,eq,sub index objectClass pres,eq |
Note: Megjegyzés: figyelj arra, hogy nem minden indextípus használható minden jellemző esetében. Nézd meg a 3.6 fejezetben (példák).
Ha egyszer beállítottad a szükséges dolgokat, indítsd el a slapd-t, kapcsolódj az LDAP klienssel, és kezdd el a bejegyzések hozzáadását. Például, a TUDelft bejegyzést követő a Postmaster bejegyzés létrehozásához az ldapadd részére létre kell hozni a /tmp/newentry fájlt a következő tartalommal:
o=TUDelft, c=NL objectClass=organization description=Technical University of Delft Netherlands cn=Postmaster, o=TUDelft, c=NL objectClass=organizationalRole cn=Postmaster description= TUDelft postmaster - postmaster@tudelft.nl |
és utána a következő parancs létrehozza a szükséges bejegyzést:
ldapadd -f /tmp/newentry -x -D "cn=Manager, o=TUDelft, c=NL" -w secret |
A fenti parancs feltételezi, hogy a roodn bejegyzés a "cn=Manager, o=TUDelft, c=NL" és a rootpw a "secret" (vagy kódolt jelszó a slapd.conf-ban). Ha nem akarod begépelni a jelszót a parancsorba, használd a -W opciót az ldapadd parancs használatakor a -w"jelszó" helyett. Felszólítást kapsz jelszó beírására:
ldapadd -f /tmp/newentry -x -D "cn=Manager, o=TUDelft, c=NL" -W Enter LDAP Password: |
suffix <dn> |
suffix "o=TUDelft, c=NL" |
Mindenképpen meg kell határozni az index fájlok könyvtárát:
directory /usr/local/tudelft |
index {<attrlist> | default } [pres,eq,approx,sub,none] |
index cn,sn,uid pres,eq,sub index objectClass eq |
slapadd -l <inputfile> -f <slapdconfigfile> [-d <debuglevel>] [-n <integer>|-b <suffix>] |
-l <inputfile> |
-f <slapdconfigfile> |
-d <debuglevel> |
Bekapcsolja a hibakeresést a debuglevel által meghatározott módon. A hibakeresés szintjei megegyeznek a slapd értékeivel. (lásd a 4.1 további részletekért.)
-n <databasenumber> |
Ez az opcionális argumentum határozza meg, hogy az adatbázisok közül melyiket használja a program. A konfigurációs fájlban szereplő első adatbázis az "1", a második a "2", stb. Alapértelmezésként az első adatbázist használja. A -b argumentummal együtt nem használható.
-b <suffix> |
Ez az opcionális argumentum határozza meg, hogy az adatbázisok közül melyiket használja a program. Az utótagot (suffix) összehasonlítja az adatbázisban szereplő adatbázis direktíva számával, és így dönti el melyik adatbázist használja. Az -n argumentummal együtt nem használható.
Néha szükségessé válik az indexek újragenerálása (pl. a slapd.conf(5) módosítása után). Ezt a slapindex(8) programmal végezhetjük el. A program meghívása a következőképpen történik:
slapindex -f <slapdconfigfile> [-d <debuglevel>] [-n <databasenumber>|-b <suffix>] |
Ahol az -f, -d, -n és a -b kapcsolók ugyanazok, mint a slapadd(1) program esetében. A slapindex újraépíti az indexállományokat az éppen aktuális adatbázis tartalmak alapján.
A slapcat programmal az adatbázis tartalmát egy szöveges LDIF fájlba tudjuk önteni (dump). Akkor lehet hasznos, ha olvasható adatbázis-másolatot szeretnénk készíteni, vagy, ha az adatbázist off-line módon szeretnénk szerkeszteni. A program indítása:
slapcat -l <filename> -f <slapdconfigfile> [-d <debuglevel>] [-n <databasenumber>|-b <suffix>] |
Ahol az -f opció -n vagy -b kapcsolóival lehet kiválasztani a slapd.conf(5)-ban leírt adatbázisok közül azt, amilyre szükségünk van. Az LDIF eredmény a standard kimenetre kerül, hacsak nem határoztunk meg egy fájlt a -l opcióban..
#comment megjegyzés dn: <distinguished name> <attrdesc>: <attrvalue> <attrdesc>: <attrvalue> ... |
A sorok folytathatóak a következő sorban egy szóköz vagy tab karatkerrel. Például:
dn: cn=Barbara J Jensen, dc=example, dc= com cn: Barbara J Jensen |
dn: cn=Barbara J Jensen, dc=example, dc=com cn: Barbara J Jensen |
Többszörös attribútumok több elválasztott sorban is specifikálhatóak. Például:
cn: Barbara J Jensen cn: Babs Jensen |
cn:: IGJlZ2lucyB3aXRoIGEgc3BhY2U= |
cn:< file://path/to/file.jpeg |
# Barbara's Entry #Barbara bejegyzése dn: cn=Barbara J Jensen, dc=example, dc=com cn: Barbara J Jensen cn: Babs Jensen objectClass: person sn: Jensen # Bjorn's Entry #Björn bejegyzése dn: cn=Bjorn J Jensen, dc=example, dc=com cn: Bjorn J Jensen cn: Bjorn Jensen objectClass: person sn: Jensen # Base64 encoded JPEG photo # Base64 kódolású fénykép jpegPhoto:: /9j/4AAQSkZJRgABAAAAAQABAAD/2wBDABALD A4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQ ERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVG # Jennifer's Entry #Jennifer bejegyzése dn: cn=Jennifer J Jensen, dc=example, dc=com cn: Jennifer J Jensen cn: Jennifer Jensen objectClass: person sn: Jensen # JPEG photo from file # JPEG kép fájlból jpegPhoto:< file://path/to/file.jpeg |
Az ldapsearch szintaktikája a következő (Az opciók jelentése az ldapsearch man lapján található):
ldapsearch [-n] [-u] [-v] [-k] [-K] [-t] [-A] [-B] [-L] [-R] [-d debuglevel] [-F sep] [-f file] [-x] [-D binddn] [-W] [-w bindpasswd] [-h ldaphost] [-p ldapport] [-b searchbase] [-s base|one|sub] [-a never|always|search|find] [-l timelimit] [-z sizelimit] filter [attrs...] |
ldapsearch -x -b 'o=TUDelft,c=NL' 'objectclass=*' ldapsearch -b 'o=TUDelft,c=NL' 'cn=Rene van Leuken' ldasearch -u -b 'o=TUDelft,c=NL' 'cn=Luiz Malere' sn mail |
Az ldapdelete szintaktikája a következő (Az opciók jelentése az ldapdelete man lapján található):
ldapdelete [-n] [-v] [-k] [-K] [-c] [-d debuglevel] [-f file] [-D binddn] [-W] [-w passwd] [-h ldaphost] [-p ldapport] [dn]... |
Néhány példa következik az ldapdelete használatára:
ldapdelete 'cn=Luiz Malere,o=TUDelft,c=NL' ldapdelete -v 'cn=Rene van Leuken,o=TUDelft,c=NL' -D 'cn=Luiz Malere,o=TUDelft,c=NL' -W |
Az ldapmodify szintaktikája a következő (Az opciók jelentése az ldapmodify man lapján található):
ldapmodify [-a] [-b] [-c] [-r] [-n] [-v] [-k] [-d debuglevel] [-D binddn] [-W] [-w passwd] [-h ldaphost] [-p ldapport] [-f file] ldapadd [-b] [-c] [-r] [-n] [-v] [-k] [-K] [-d debuglevel] [-D binddn] [-w passwd] [-h ldaphost] [-p ldapport] [-f file] |
Néhány példa az ldapmodify használatára:
Tételezzük fel, hogy a /tmp/entrymods fájl létezik, és a következőket tartalmazza:
dn: cn=Modify Me, o=University of Michigan, c=US #módosítandó rész changetype: modify replace: mail mail: modme@terminator.rs.itd.umich.edu - add: title title: Grand Poobah - add: jpegPhoto jpegPhoto: /tmp/modme.jpeg - delete: description - |
ldapmodify -b -r -f /tmp/entrymods |
A fentiekkel megegyező módosítások a régebbi ldapmodify bemeneti formájában:
cn=Modify Me, o=University of Michigan, c=US mail=modme@terminator.rs.itd.umich.edu +title=Grand Poobah +jpegPhoto=/tmp/modme.jpeg -description |
ldapmodify -b -r -f /tmp/entrymods |
Tételezzük fel, hogy a /tmp/entrymods fájl létezik, és a következőket tartalmazza:
dn: cn=Barbara Jensen, o=University of Michigan, c=US objectClass: person cn: Barbara Jensen cn: Babs Jensen sn: Jensen title: the world's most famous manager mail: bjensen@terminator.rs.itd.umich.edu uid: bjensen |
ldapadd -f /tmp/entrymods |
Tételezzük fel, hogy a /tmp/newentry fájl létezik, és a következőket tartalmazza:
dn: cn=Barbara Jensen, o=University of Michigan, c=US changetype: delete |
ldapmodify -f /tmp/entrymods |
Az LDAP Migration Tools letölthető, és további információk találhatók a következő címen: http://www.padl.com/OSS/MigrationTools.html
A csomagban találhat README fájl, és a script-ek neve egyértelmű. A script-ek alkalmazása előtt el kell olvasni a README fájlt!
További hasznos URL a migrációs eszközökről:
Végezetül itt van az SASL, vagyis a Simple Authentication and Security Layer (RFC 2222). Ez a fajta azonosítás egy kérdés-válasz típusú protokoll az ügyfél és a szerver között, melyen keresztül létrejön egy biztonságos csatorna, ahol a további tranzakciók lebonyolódnak. Az SASL használatával mindenféle olyan azonosítási mód lehetséges, amelyet a szerver és a kliens megenged. A Cyrus-SASL csomag a következő URL-ről érhető el: http://asg.web.cmu.edu/sasl/sasl-library.html.
A felhasználók további azonosítása a címtár fában lévő további információk eléréséhez, az LDAP szerver más szolgáltatásokból származó felhasználókat (sendmail, login, ftp, stb. ) is képes azonosítani. Ezek a specifikus felhasználói információk eljutnak a szerverhez, majd a PAM (Pluggable Authentication Modules) mechanizmus használatával azonosítja a felhasználókat. Ez az azonosító modul az LDAP számára elérhető tarball formájában a következő címen:http://www.padl.com/OSS/pam_ldap.html
Kicsomagolás után a várható parancsok:
root@rdnt03:/usr/local/BerkeleyDB.4.2/build_unix#../dist/configure root@rdnt03:/usr/local/BerkeleyDB.4.2/build_unix#make root@rdnt03:/usr/local/BerkeleyDB.4.2/build_unix#make install |
root@rdnt03:/usr/local/cyrus-sasl-2.1.17#env CPPFLAGS="-I/usr/local/BerkeleyDB.4.2/include" LDFLAGS="-L/usr/local/BerkeleyDB.4.2/lib" ./configure |
Ezután már futtathatók a következők:
root@rdnt03:/usr/local/cyrus-sasl-2.1.17#make root@rdnt03:/usr/local/cyrus-sasl-2.1.17#make install root@rdnt03:/usr/local/cyrus-sasl-2.1.17#ln -s /usr/local/lib/sasl2 /usr/lib/sasl2 |
root@rdnt03:/usr/local/openldap-2.2.5#env CPPFLAGS="-I/usr/local/BerkeleyDB.4.2/include" LDFLAGS="-L/usr/local/BerkeleyDB.4.2/lib" ./configure |
Ezután futtattam a továbbiakat:
root@rdnt03:/usr/local/openldap-2.2.5#make depend root@rdnt03:/usr/local/openldap-2.2.5#make root@rdnt03:/usr/local/openldap-2.2.5#make install |
Majd létrehoztam a sasl felhasználói adatbázist:
root@rdnt03:~# saslpasswd2 -c admin |
sasl-regexp uid=(.*),cn=rdnt03,cn=DIGEST-MD5,cn=auth uid=$1,ou=People,o=Ever |
Ez a paraméter ebben a formában van:
uid=<username>,cn=<realm>,cn=<mech>,cn=auth
root@rdnt03:~# sasldblistusers2 admin@rdnt03: userPassword admin@rdnt03: cmusaslsecretOTP |
dn: o=Ever o: Ever description: Organization Root objectClass: top objectClass: organization dn: ou=Staff, o=Ever ou: Staff description: These are privileged users that can interact with Organization products objectClass: top objectClass: organizationalUnit dn: ou=People, o=Ever ou: People objectClass: top objectClass: organizationalUnit dn: uid=admin, ou=Staff, o=Ever uid: admin cn: LDAP Adminstrator sn: admin userPassword: {SHA}5en6G6MezRroT3XKqkdPOmY/BfQ= objectClass: Top objectClass: Person objectClass: Organizationalperson objectClass: Inetorgperson dn: uid=admin,ou=People,o=Ever objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson userPassword: {SHA}5en6G6MezRroT3XKqkdPOmY/BfQ= displayName: admin mail: admin@eversystems.com.br uid: admin cn: Administrator sn: admin |
Adjunk bejegyzéseket az LDAP címtárunkhoz a következő paranccsal:
slapadd -c -l Ever.ldif -f slapd.conf -v -d 256 |
root@rdnt03:~# ldapsearch -U admin@rdnt03 -b 'o=Ever' '(objectclass=*)' SASL/DIGEST-MD5 authentication started Please enter your password: SASL username: admin@rdnt03 SASL SSF: 128 SASL installing layers ... Entries ... |
Ennyi! Amennyiben jobban szeretnéd használni az SASL-t Kerberos V vagy GSSAPI mechanizmusokkal, íme egy hasznos link: http://www.openldap.org/doc/admin22/sasl.html Ez az oldal feltételezi, hogy már túl vagy az SASL telepítésén és beállításán. A levelezőlista segíthet, ha elakadnál: http://asg.web.cmu.edu/sasl/index.html#mailinglists
A kldap egy grafikus ldap kliens a KDE környezetet számára. A Kldap kényelmes felülettel rendelkezik, és képes valamennyi, a címtárban tárolt információs fa megjelentítésére. Néhány kép az alkalmazásról valamint a letöltési hely: http://www.mountpoint.ch/oliver/kldap/
A KDirAdm könyvtár kezelő eszközt KDE 2 vagy újabb környezethez írták. Célja, hogy összegyűjtse a legáltalánosabban használt könyvtár kezelő eszközöket: http://www.carillonis.com/kdiradm/
A Directory Administrator(Könyvtár Titkár) a legelterjedtebben használt Gnome alapú UNIX rendszerű felhasználó és csoportkezelő alkalmazás LDAP címtár kiszolgálókhoz. A Directory administrator lehetővé teszi felhasználók és csoportok létrehozását és törlését, valamint a felhasználókhoz tartozó névjegyalbum információk, kiszolgálónkénti hozzáférés-szabályozások, és Sendmail útvonalválasztások kezelését. http://diradmin.open-it.org/index.php
A GQegy másik, a Gnome környezet számára készült grafikus LDAP kliens, egyszerű felülettel. Működik KDE alatt is, mint ahogy a Kldap is fut Gnome környezetben. További információk és a program letölthetősége: http://biot.com/gq/
LDAP Browser/Editor: Ez egy fantasztikus eszköz, mindenféle adminisztrációs és böngészési lehetőséggel felszerelve. Itt megnézhető/letölthető: Ldap Browser.
A naplók létrehozásához szerkeszteni kell a syslog.conf file-t, rendszerint a /etc könyvtárban.
Ehhez hasonló sort kell létrehozni:
local4.* /usr/adm/ldaplog |
-s syslog-level |
-l syslog-local-user |
University of Michigan LDAP oldal: http://www.umich.edu/~dirsvcs/ldap/
University of Michigan LDAP dokumentációs oldal: http://www.umich.edu/~dirsvcs/ldap/doc/
OpenLDAP Adminisztrátorok Kézikönyve (testvéroldal): http://www.openldap.org/doc/admin
Linux Directory Service: http://www.rage.net/ldap/
Red Hat és LDAP: http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/ref-guide/ch-ldap.html
Mandrake Linux - OpenLDAP használata azonosításhoz: http://www.mandrakesecure.net/en/docs/ldap-auth.php
Az OpenLDAP használata más nyílt forráskódú projektekkel: ftp://kalamazoolinux.org/pub/pdf/ldapv3.pdf
Magyar nyelvű oldalak:
LDAP-ról pár szóban http://padre.web.elte.hu/ldap.html
Gentoo Linux - OpenLDAP hitelesítési útmutató http://www.gentoo.org/doc/hu/ldap-howto.xml
NOVELL - Fejlesztői oldalak http://www.novell.hu/developer/opensource.shtml
Az LDAP szerver installálása - U of SZEGED http://www.cab.u-szeged.hu/~bilickiv/h_op/inflab_2001_1_f/3/LDAP.htm
HOGYAN érjük el az LDAP adatbázist Evolution alól? http://kszk.sch.bme.hu/net/lists/evolution_ldap/
Az LDAP fejlesztőket támogató RFC-k:
RFC 1558: A String Representation of LDAP Search Filters
RFC 1777: Lightweight Directory Access Protocol
RFC 1778: The String Representation of Standard Attribute Syntaxes
RFC 1779: A String Representation of Distinguished Names
RFC 1781: Using the OSI Directory to Achieve User Friendly Naming
RFC 1798: Connectionless LDAP
RFC 1823: The LDAP Application Programming Interface
RFC 1959: An LDAP URL Format
RFC 1960: A String Representation of LDAP Search Filters
RFC 2251: Lightweight Directory Access Protocol (v3)
RFC 2307: LDAP as a Network Information Service