5.4. Az ldapsearch, ldapdelete és az ldapmodify progrmok

ldapsearch - Az ldapsearch a parancsértelmező által elérhető felületet biztosít az ldap_search(3) függvény használatához. Ez a program jól használható bejegyzések kereséséhez az LDAP adatbázisban.

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...] 

Az ldapsearch kapcsolatot létesít az LDAP szerverrel, és a szűrő (filter) használatával keresést hajt végre az adatbázisban. A szűrőnek meg kell felenie az RFC 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 -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

A -b opció a searchbase-t (a keresés kindulási pontja), az -u opció a felhasználóbarát kimenő információt míg az -x opció az egyszerű azonosítást képviseli.

ldapdelete - Az ldapdelete a parancsértelmező által elérhető felületet biztosít az 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 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]...

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 argumentum szerepel, akkor azok a Megkülönbüztető Nevü (dn) bejegyzések törlődnek. Minden DN-nek meg kell felelnie az RFC1779-ben definiált karatersorral. Ha nincs dn argumentum megadva, a dn-ek listáját a standard bemenetről olvassa be (vagy az -f kapcsolóval megadott fájlból).

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 

A -v opció a bőbeszédű kimenetet, a -D a Binddn-t (az azonosító dn-t) és a -W a jelszó prompt-ot jelenti.

ldapmodify - Az ldapmodify a parancsértelmező által elérhető felületet biztosít az ldap_modify(3) és az ldap_add(3) függvények használatához. Ez a program bejegyzések módosításához használható az LDAP adatbázisban.

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] 

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. Az ldapmodify kapcsolatot létesít az LDAP szerverrel, és egy vagy több bejegyzést módosít. A bejegyzések információit a standard inputról olvassa be, vagy pedig az -f opcióval beállított fájlból.

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 
- 

A parancs:

ldapmodify -b -r -f /tmp/entrymods 

kicseréli a "Módositandó" bejegyzés (cn="Modify Me") mail attribútumát a "modme@terminator.rs.itd.umich.edu"-ra, hozzáadja a "Grand Poobah" title (cím) attribútumot, és a /tmp/modme.jpeg fájl tartalmát, mint jpegPhoto, és törli a description attribútumot.

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 

és a hozzá tartozó parancs:

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 

A parancs:

ldapadd -f /tmp/entrymods 

hozzáadja a bejegyzést a következő megkülönböztető névvel: cn=Barbara Jensen, o=University of Michigan, c=US, ha eddig nem létezett volna. Ha létezik ilyen dn-ű bejegyzés, a program hibával leáll és nem írja felül a bejegyzést.

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 

A parancs:

ldapmodify -f /tmp/entrymods 

eltávolítja a Barbara Jensen bejegyzést.

Az -f opció jelenti a fájlt (a módosításhoz szükséges információkat tartalmazza a standard input helyett), a -b kapcsoló jelzi a bináris adatokat (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).