suffix <dn>
A 3 fejezetben leírtak szerint ez az opcó mondja meg, milyen bejegyézsek kerülnek ebbe az adatbázisba. Be kell állítani a létrehozandó részfa gyökerének DN értékét:
suffix "o=Nns, c=Hu"
Specifikáni kell a könyvtárat, ahol az index file-ok létrejönnek:
directory <könyvtár>
Például:
directory /var/lib/ldap
Lehetõvé kell tenni valakinek, hogy csatlakozhasson az slapdhez bejegyzések hozzáadásának jogával. Ez a következõ két opció segítségével lehetséges az adatbázis létrehozása során:
rootdn <dn>
rootpw <jelszó> /* Mindenképpen kódolt jelszót kell használni !!!*/
Ez az 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, hogyan azonosítható az adminisztrátor, és hozhatók létre rekordok bármely bejegyzés létezne.
Végül, az adatbázis definíciónak garantáltan tartalmaznia kell az szükséges indexek definícióinak:
index {<attribútumlista> | alapértelmezés} [pres,eq,approx,sub,none]
Például, a cn, sn, uid és objectlass attribútumok indexét a következõ index konfigurációs sor hozza létre:
index cn,sn,uid
index objectclass pres,eq
index default none
Ha egyszer beállítottad a szükséges dolgokat, indítsd el az slapdüt, kapcsolódj az LDAP klienshez, és kezd el a bejegyzések hozzáadását. Például, az NNS bejegyzést követõ a Postmaster bejegyzés létrhozásához az ldapadd részére létre kell hozni a /tmp/newentry file-t a következõ tartalommal:
és utána a következõ parancs létrehozza a szükséges bejegyzást:o=Nns, c=Hu objectClass=organization description=Nns kft cn=Postmaster, o=Nns, c=Hu objectClass=organizationalRole cn=Postmaster description= Nns kft postamester - postmaster@nns.hu
A fenti parancs feltételezi, hogy a toodn bejegyzés a "uid=root, o=Nns, c=Hu" és a rootpw a "secret". 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 -D "uid=root, o=Nns, c=Hu" -w secret
ldapadd -f /tmp/newentry -D "uid=root, o=Nns, c=Hu" -W Enter LDAP Password :
suffix <dn>
Az elõzõ bekezdésnek megfelelõen, ez az opció határozza meg, milyen bejegyzéseket fog tartalmazni az adatbázis. Ennek a létrehozandó részfa gyökerének DN-jét kell tartalmaznia. Például:
suffix "o=Nns, c=Hu"
Mindenképpen meg kell határozni az index file-ok könyvtárát:
directory <könyvtár>
Például:
directory /usr/lib/openldap
Ezután, valószínüleg szükséges
a szükséges lesz a minden nyitott indexfile által használt
cache méretét. Az indexek létrehozásának
legnagyobb sebessége érdekében
az egész indexnek el kell férnie a memóriában.
Ha az adatok túl nagyok, vagy a memória túl kicsi,
akkor a lapozó rendszer használatával készíthtõk
szép nagy index file-ok. Ennek a mérete a következõ
opcióval állítható be:
dbcachesize <egész szám>
Például:
dbcachesize 50000000
Ez egy 50MB nagyságú cache-t hoz léte, ami elég nagy (a University of Michigan-en az adatbázis 125K bejegyzésbõl áll, a legnagyobb index körülbelül 45 MB). Egy kis kisérletezéssel, és a párhuazmosság fokával (magyarázat késõbb) megállapítható a rendszer számára legmegfelelõbb érték. Ezt az értéket az index file-ok elkészítése után és az slap futtatása elõtt vissza kell állítani.
Végül specifikálni kell, milyen indexekre van szükség. Ez egy vagy index opcióval végezhetõ el:
index {<attribútumlista> | alapértelmezett} [pres,eq,approx,sub,none]
Például:
index cn,sn,uid pres,eq,approx
index default none
Ez létrehozza a presence, equality és approximate indexeket a cn,sn és uid attribútumoknak, és nem készít indexet a többi attribútum számára. További információk a 3. fejezetben találhatók errõl az opciókról.
Ha mindez kész, létre lehet hozni az indexeket az ldif2ldm progammal:
ldif2ldbm -i <inputfile> -f <slapdconfigfile> [-d <debugszint>] [-j <egész szám>] [-n <adatbázisszám>] [-e <etcdir>]
Az argumentumok a következõket jelentik:
-i <inputfile>
Specifikálja az LDIF bemeneti file-t, ami a hozzáadandó bejegyzéseket tartalmazza szöveges formában.
-f <slapdconfigfile>
Specifikálja az slapd konfigurációs file-ját, ami meghatározza hol, milyen indexeket kell létrehozni, stb.
-d <debugszint>
Bekapcsolja a hibakeresést a debugszint által meghatározott módon. A hibakeresés szintjei megegyeznek az slapd értékeivel (lásd a 4.1 fejezetben).
-j <integer>
An optional argument that specifies that at most <integer> processes should be started in parallel when building the indexes. The default is 1. If set to a value greater than one, ldif2ldbm will create at most that many subprocesses at a time when building the indexes. A separate subprocess is created to build each attribute index. Running these processes in parallel can speed things up greatly, but beware of creating too many processes, all competing for memory and disk resources.
-n <adatbázisszám>
Ez az opcionális argumentum határozza meg, hogy a konfigurációs file-ban szereplõ adatbázisok közül melyiket használja. Az elsõ adatbázis az "1", a második a "2", stb. Alapértelmezésként az elsõ ldbm adatbázist használja.
-e <etcdir>
Ez az opcionális paraméter határozza meg azt a könyvtárat, ahol az ldif2ldbm a további adatbázis konverziós eszközöket találja (ldif2index és társai). Az alapértelmezett az telepítõ könyvtár, amit a konfigurációs script állít be. Példa az ldif2ldbm használatára:
/usr/sbin/ldif2ldbm -i új_bejegyzések -f /etc/openldap/slapd.conf
ahol az <id> opcionális ID bejegyzés (pozitív egész szám). Rendszerint nem szükséges az <id> egadása, megengedhetõ az adatbázist létrehozó eszközöknek, hogy meghatározzák. Az ldbmcat program olyan LDIF formát hoz létre, amely tartalmazza az <id>-t, így az indexek konzisztensek maradnak.[<id>] dn: <megkülönböztetõ név> <attribútum tipus>: <attribútum érték> <attribútum tipus>: <attribútum érték> ...
A sorok folytathatóak a következõ sorban egy szóköz vagy tab karatkerrel. Például:
Többszörös attribútumok több elválasztott sorban is specifikálhatóak. Példáuldn: cn=Gabor Halasz, o=Nns, c=Hu
Ha az <attribútum érték> tartalmaz nem nyomtatható karaktereket, szóköz, vagy .`:' karakterrel kezdõdnek, az <attribútum típús>-t kettõspont követi, az érték base64 kódolású. Például a "begins with spave" a következõképpen lesz kódolva:cn: Gabor Halasz cn: HalaszG
A többszörös bejegyzéseket ugyanabban az LDIF file-ban üres sorokkal kell elválasztani. Egy három bejegyzést tartalmazó LDIF file:cn:: IGJlZ2lucyB3aXRoIGEgc3BhY2U=
Kovacs Istvan jpegPhoto bejegyzése base64 kódolású. Az OpenLDAP csomagban található ldif program használható LDIF formátum készítésére.dn: cn=Gabor Halasz, o=Nns, c=Hu cn: Gabor Halasz cn: HalaszG objectclass: person sn: Halasz dn: cn=Janos Szabo, o=Nns, c=Hu cn: Janos Szabo cn: Jancsika objectclass: person sn: Szabo dn: cn=Istvan Kovacs, o=Nns, c=Hu cn: Istvan Kovacs cn: Pistike objectclass: person sn: Kovacs jpegPhoto:: /9j/4AAQSkZJRgABAAAAAQABAAD/2wBDABALD A4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQ ERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVG ...
FIGYELEM: A követõ szóközöket benne maradnak az LDIF file-ban.A többszörös szóközök is megmaradnak. Ha nem szükségesek az adatokban, akkor el kell távolítani õket.
Az ldapsearch áttekintése a következõ (Az opciók jelentése az ldapsearch man lapján található):
Az ldapsearch kapcsolatot látesít az LDAP szerverrel, és a filter használatával keresést hajt végre az adatbázisban. A filternek alkalmazkodnia kell az FRC 1558-ban definiált LDAP szürõk ábrázolásához. Ha az ldapsearch egy vagy több bejegyzést talál, az attrs által specifikált attribútumokat adja vissza, és az értékeket a standard kimenetre írja ki. Ha attrs nincs felsorolva, az összes attribútumot visszaadja.ldapsearch [-n] [-u] [-v] [-k] [-K] [-t] [-A] [-B] [-L] [-R] [-d debuglevel] [-F sep] [-f file] [-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...]
Néhány példa következik az ldapsearch használatára:
A -b opció képviseli a searchbase-t (a keresés kindulási pontja) és az -u opció képviseli a felhasználóbarát kimenõ információt.ldapsearch -b 'o=Nns,c=Hu' 'objectclass=*' ldapsearch -b 'o=Nns,c=Hu' 'cn=Gabor Halasz' ldasearch -u -b 'o=Nns' 'cn=Gabor Halasz' sn mail
ldabdelete - Az ldapdelete a paransértelmezõ által elérhetõ felületet biztosít az the ldap_delete(3) függvény használatához. Ez a program használható bejegyzések törléséshez az LDAP adatbázisban.
Az ldapdelete áttekintése a következõ (Az opciók jelentése az ldapdelete man lapján található):
Az ldapdelete kapcsolatot látesít az LDAP szerverrel, és töröl egy vagy több bejegyzést. Ha egy vagy több dn attribútum szerepel, a a bejegyzések azok megkülönbüztetõ nevükkel együtt törlõdnek. Minden dn-nek meg kell felelnie egy, az RFC1779-ben definiált karatersorral. Ha nincs dn argumentum megadva, a dn-ek listaját a standard bemenetrõl olvassa be (vagy az -f kapcsolóval megadott file-ból).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 ldapsearch használatára:
A -v opció kéviseli a bõsbeszédû kimenetet, a -D képviseli a Binddn-t (az azonosító dn-t) és a -W kéviseli a password propmt-ot.ldapdelete 'cn=Gabor Halasz,o=Nns,c=Hu' ldapdelete -v 'cn=Janos Szabo,o=Nns,c=Hu' -D'cn=Gabor Halasz,o=Nns,c=Hu' -W
ldapmodify - Az ldapmodify a paransértelmezõ által elérhetõ felületet biztosít az the ldap_modify(3) függvény használatához. Ez a program használható bejegyzések módosításához az LDAP adatbázisban.
Az ldapmodify áttekintése a következõ (Az opciók jelentése az ldapmodify man lapján található):
Az ldapadd megvalósítása egy hard link az ldapmodify programra. Az ldapadd hívásakor az ldappmodify -a (új bejegyzés hozzáadása) kapcsolója automatikusan bekapcsoldódik.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]
Az ldapmodify kapcsolatot létesít az LDAP szerverrel, és egy vagy több bejegyzést módosít. A bejegyzések informázióit a standard inputról olvassa be, vagy pedig az -f opcióval beállított file-ból.
Néhány példa következik az ldapmodify használatára:
Feltételezve, hogy a /tmp/entrymods file létezik, és a következõket tartalmazza:
A következõ parancs:dn: cn=Modositando, o=Nns, c=Hu changetype: modify replace: mail mail: modme@nns.hu - add: title title: Nagy proba - add: jpegPhoto jpegPhoto: /tmp/modme.jpeg - delete: description -
kicseráli a "Modositando" bejegyzés mail attribútumát a "modme@nns.hu"-ra, hozzáadja a "Nagy proba" tittle attribútumot, a /tmp/modme.jpg file tartalmát, mint jpegPhoto, és törli a description attribútumot.ldapmodify -b -r -f /tmp/entrymods
A fentiekkel megegyeõ módosítások a régebbi ldapmodify bemeneti formájában:
és a parancs:cn=Modositando, o=Nns, c=Hu mail=modme@Nns.hu +title=Nagy proba +jpegPhoto=/tmp/modme.jpeg -description
ldapmodify -b -r -f /tmp/entrymods
Feltételezve, hogy a /tmp/entrymods file létezik,
és a következõket tartalmazza:
A parancs:dn: cn=Gabor Halasz, o=Nns, c=Hu objectClass: person cn: Gabor Halasz cn: HalaszG sn: Halasz title: System manager mail: halasz.g@nns.hu uid: HalaszG
hozzáadja a Gabor Halasz bejegyzést.ldapadd -f /tmp/entrymods
Feltételezve, hogy a /tmp/entrymods file létezik, és a következõket tartalmazza:
A parancs:dn: cn=Gabor Halasz, o=Nns, c=Hu changetype: delete
eltávolítja a Gabor Halasz bejegyzést.ldapmodify -f /tmp/entrymods
Az -f opció képviseli a file-t (a módosításhoz szükséges információkat tartalmazza a standard input helyett), a -b kapcsoló jelzi a bináris adatokat (és minden '/' karakterrel kezdõdõ értéket binárisként kezel), az -r kapcsoló állítja be a hozzáadást (a létezõ értékeket alapértelmezésként felülírja).