ha dolgozik egy közepes nagyvállalat, akkor valószínűleg kölcsönhatásban napi rendszerességgel LDAP.
függetlenül attól, hogy ez egy Windows tartományvezérlőn vagy egy Linux OpenLDAP kiszolgálón van-e, az LDAP protokoll nagyon hasznos a hitelesítés központosításához.
azonban, ahogy az LDAP könyvtár növekszik, elveszhet az összes olyan bejegyzésben, amelyet esetleg kezelnie kell.
szerencsére van egy parancs, amely segít a bejegyzések keresésében egy LDAP könyvtárfában: ldapsearch.
ebben a bemutatóban látni fogjuk, hogyan lehet könnyedén keresni az LDAP-ot az ldapsearch segítségével.
áttekintjük a parancs által biztosított lehetőségeket is a fejlett LDAP-keresések elvégzéséhez.
Tartalomjegyzék
- keresés LDAP segítségével ldapsearch
- keresés LDAP admin account
- LDAP keresések futtatása szűrőkkel
- az összes objektum megtalálása a könyvtárfában
- Felhasználói fiókok keresése az ldapsearch
- és az ldapsearch
- VAGY az Üzemeltető segítségével ldapsearch
- Tagadás Szűrők használata ldapsearch
- LDAP szerver konfiguráció megtalálása ldapsearch
- helyettesítő karakterek használata az LDAP keresésekben
- Ldapsearch Speciális beállítások
- LDAP Bővíthető Mérkőzés Szűrők
- az alapértelmezett operátorok feltöltéséhez
- következtetés
keresés LDAP segítségével ldapsearch
az LDAP keresésének legegyszerűbb módja az ldapsearch használata az” – x ” opcióval az egyszerű hitelesítéshez, és adja meg a keresési bázist a “-b”gombbal.
ha nem futtatja a keresést közvetlenül az LDAP kiszolgálón, akkor meg kell adnia a gazdagépet a “-H” opcióval.
$ ldapsearch -x -b <search_base> -H <ldap_host>
példaként tegyük fel, hogy van egy OpenLDAP szerver telepítve és fut a 192.168.178.29 host a hálózat.
Ha a szerver anonim hitelesítést fogad el, akkor LDAP keresési lekérdezést hajthat végre anélkül, hogy az adminisztrátori fiókhoz kötődne.
$ ldapsearch -x -b "dc=devconnected,dc=com" -H ldap://192.168.178.29
az LDAP kliens feltételezi, hogy keresést szeretne futtatni a könyvtárfa összes objektumosztályán.
ennek következtében, akkor be kell mutatni egy csomó információt. Ha korlátozni szeretné a bemutatott információkat, a következő fejezetben ismertetjük az LDAP szűrőket.
keresés LDAP admin account
egyes esetekben érdemes futtatni LDAP lekérdezések, mint az admin számla annak érdekében, hogy additionnal információkat bemutatni az Ön számára.
ennek eléréséhez kötési kérelmet kell benyújtania az LDAP fa rendszergazdai fiókjával.
az LDAP-ban az admin-fiók használatával történő kereséshez végre kell hajtania az “ldapsearch” lekérdezést a “-D” opcióval a bind DN-hez, a “- W” – hez a jelszó megadásához.
$ ldapsearch -x -b <search_base> -H <ldap_host> -D <bind_dn> -W
példaként tegyük fel, hogy rendszergazdai fiókja a következő megkülönböztetett névvel rendelkezik:”cn=admin,dc=devconnected,dc=com”.
ahhoz, hogy LDAP-keresést végezzen, mint ez a fiók, a következő lekérdezést kell futtatnia:
$ ldapsearch -x -b "dc=devconnected,dc=com" -H ldap://192.168.178.29 -D "cn=admin,dc=devconnected,dc=com" -W
ha LDAP-keresést futtat rendszergazdai fiókként, akkor a felhasználó titkosított jelszavainak lehet kitéve, ezért győződjön meg róla, hogy a lekérdezést magántulajdonban futtatja.
LDAP keresések futtatása szűrőkkel
egy egyszerű LDAP keresési lekérdezés futtatása szűrők nélkül valószínűleg idő-és erőforrás-pazarlás.
Az idő nagy részében LDAP keresési lekérdezést szeretne futtatni annak érdekében, hogy konkrét objektumokat találjon az LDAP könyvtárfában.
az LDAP-bejegyzés szűrőkkel történő kereséséhez a szűrőt az ldapsearch parancs végén csatolhatja: a bal oldalon adja meg az objektum típusát, a jobb oldalon pedig az objektum értékét.
opcionálisan megadhatja az objektumból visszaküldendő attribútumokat (felhasználónév, felhasználói jelszó stb.)
$ ldapsearch <previous_options> "(object_type)=(object_value)" <optional_attributes>
az összes objektum megtalálása a könyvtárfában
annak érdekében, hogy visszaadja az LDAP fában elérhető összes objektumot, az “objectclass” szűrőt és egy helyettesítő karaktert “*” csatolhatja annak megadásához, hogy vissza szeretné adni az összes objektumot.
$ ldapsearch -x -b <search_base> -H <ldap_host> -D <bind_dn> -W "objectclass=*"
a lekérdezés végrehajtásakor minden objektum és minden attribútum megjelenik a fán.
Felhasználói fiókok keresése az ldapsearch
használatával például tegyük fel, hogy az összes felhasználói fiókot az LDAP könyvtárfán szeretné megtalálni.
alapértelmezés szerint a felhasználói fiókok valószínűleg rendelkeznek a” fiók ” szerkezeti objektum osztályával, amely az összes felhasználói fiók szűkítésére használható.
$ ldapsearch -x -b <search_base> -H <ldap_host> -D <bind_dn> -W "objectclass=account"
alapértelmezés szerint a lekérdezés visszaadja az adott objektumosztályhoz elérhető összes attribútumot.
az előző szakaszban meghatározottak szerint opcionális attribútumokat adhat hozzá a lekérdezéshez, ha szűkíteni szeretné a keresést.
például, ha csak a felhasználói CN, UID és a kezdőkönyvtár érdekli, akkor a következő LDAP-keresést futtatná:
$ ldapsearch -x -b <search_base> -H <ldap_host> -D <bind_dn> -W "objectclass=account" cn uid homeDirectory
félelmetes, sikeresen végzett LDAP keresést szűrők és attribútumválasztók segítségével!
és az ldapsearch
– t használó operátor ahhoz, hogy több szűrőt “és” operátorok “választhassanak el egymástól, minden feltételt zárójelbe kell írniuk, és a lekérdezés elején egy”& ” karakterrel kell rendelkezniük.
$ ldapsearch <previous_options> "(&(<condition_1>)(<condition_2>)...)"
például, tegyük fel, hogy meg szeretné találni az összes bejegyzések “objectclass” egyenlő “számla” – t, “uid” egyenlő a “john”, akkor futtassa a következő lekérdezés
$ ldapsearch <previous_options> "(&(objectclass=account)(uid=john))"
VAGY az Üzemeltető segítségével ldapsearch
annak érdekében, hogy több szűrőt elválasztott “VAGY a” piaci szereplők, meg kell csatolni minden körülmények között, zárójelben pedig a “|” karakter írásbeli elején a lekérdezés.
$ ldapsearch <previous_options> "(|(<condition_1>)(<condition_2>)...)"
például, ha meg akarja találni az összes tételt, hogy egy objektum osztály type “account”, vagy, vagy írja be, hogy “organizationalRole”, akkor futtassa a következő lekérdezés
$ ldapsearch <previous_options> "(|(objectclass=account)(objectclass=organizationalRole))"
Tagadás Szűrők használata ldapsearch
egyes esetekben azt szeretné, hogy negatívan mérkőzés egyes bejegyzések az LDAP-címtár fa.
annak érdekében, hogy egy negatív egyezés szűrő, van, hogy csatolja az állapot(ok) a “!”a karakter és a körülmények elválasztva zárójelben vannak.
$ ldapsearch <previous_options> "(!(<condition_1>)(<condition_2>)...)"
például, ha azt szeretné, hogy megfeleljen az összes bejegyzést, amelyek nem rendelkeznek a “cn” attribútum értéke “john”, akkor írja a következő lekérdezés
$ ldapsearch <previous_options> "(!(cn=john))"
LDAP szerver konfiguráció megtalálása ldapsearch
az ldapsearch parancs egyik speciális használata az LDAP-kiszolgáló konfigurációjának lekérése fa.
ha ismeri az OpenLDAP-ot, akkor tudja,hogy van egy globális konfigurációs objektum az LDAP hierarchia tetején.
bizonyos esetekben előfordulhat, hogy látni szeretné az LDAP-konfiguráció attribútumait a hozzáférés-vezérlés módosítása vagy például a root admin Jelszó módosítása érdekében.
az LDAP-konfiguráció kereséséhez használja az” ldapsearch “parancsot, majd adja meg a” cn=config ” – et az LDAP-fa Keresési alapjaként.
a keresés futtatásához a “-Y” opciót kell használnia, a hitelesítési mechanizmusként pedig a “külső” lehetőséget kell megadnia.
$ ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config
Megjegyzés : Ezt a parancsot közvetlenül a kiszolgálón kell futtatni, nem az egyik LDAP kliensétől.
alapértelmezés szerint ez a parancs sok eredményt ad vissza, sémák és modulok.
Ha a keresést adatbázis-konfigurációkra szeretné korlátozni, megadhatja az “olcDatabaseConfig” objektumosztályt az ldapsearch segítségével.
$ ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config "(objectclass=olcDatabaseConfig)"
helyettesítő karakterek használata az LDAP keresésekben
Az LDAP bejegyzések listáján keresztüli keresés másik hatékony módja a helyettesítő karakterek használata, például a csillag (“*”).
a helyettesítő karakternek ugyanaz a funkciója van, mint a regexben használt csillagnak : bármely attribútumnak megfelel, amely egy adott alrendszerrel kezdődik vagy végződik.
$ ldapsearch <previous_options> "(object_type)=*(object_value)"$ ldapsearch <previous_options> "(object_type)=(object_value)*"
példaként tegyük fel, hogy minden olyan bejegyzést meg szeretne találni, amelynek “uid” attribútuma a “j”betűvel kezdődik.
$ ldapsearch <previous_options> "uid=jo*"
Ldapsearch Speciális beállítások
ebben a bemutatóban megismerte az alapvető ldapsearch lehetőségeket, de sok más is érdekli Önt.
LDAP Bővíthető Mérkőzés Szűrők
Bővíthető LDAP-mérkőzés szűrőket használnak, hogy túltöltés meglévő piaci szereplők (például az egyenlőség üzemeltető) által megjelölve a fajta-összehasonlító műveletet.
az alapértelmezett operátorok feltöltéséhez
az LDAP operátor feltöltéséhez a “:=” szintaxist kell használni.
$ ldapsearch <previous_options> "<object_type>:=<object_value>"
például, ha azt szeretnénk, hogy keressen minden bejegyzés egy “cn”, amely megegyezik a “john,” akkor fut a következő parancsot
$ ldapsearch <previous_options> "cn:=john"# Which is equivalent to$ ldapsearch <previous_options> "cn=john"
ahogy valószínűleg észrevette, fut a keresés a “john” vagy a “JOHN” visszaadja ugyanazt a pontos eredményt.
ennek következtében érdemes az eredményeket a “john” pontos mérkőzésre korlátozni, így a keresési eset érzékeny.
az ldapsearch használatával további szűrőket adhat hozzá “:” karakterekkel elválasztva.
$ ldapsearch <previous_options> "<object_type>:<op1>:<op2>:=<object_value>"
például egy esetérzékeny keresés érdekében a következő parancsot futtatná:
ha nem ismeri az LDAP match szűrőket, itt található az összes elérhető operátor listája.
következtetés
ebben az oktatóanyagban megtanulta, hogyan kereshet egy LDAP könyvtárfát az ldapsearch parancs segítségével.
látta az alapbejegyzések és attribútumok keresésének alapjait, valamint komplex illesztési szűrőket épített operátorokkal (és negatív operátorokkal).
azt is megtudta, hogy lehetséges a meglévő operátorok túltöltése az extensible match opciók használatával, valamint a használni kívánt egyéni operátor megadásával.
Ha érdekli az Advanced Linux System Administration, van egy teljes szakasz szentelt a honlapon, ezért győződjön meg róla, hogy nézd meg!