Jak Na Vyhledávání LDAP pomocí ldapsearch (S Příklady)

Pokud pracujete ve středně velké společnosti, budete pravděpodobně komunikovat na denní bázi s LDAP.

ať už je to na řadiči domény Windows nebo na serveru Linux OpenLDAP, protokol LDAP je velmi užitečný pro centralizaci autentizace.

s rostoucím adresářem LDAP se však můžete ztratit ve všech položkách, které budete muset spravovat.

naštěstí existuje příkaz, který vám pomůže vyhledat položky ve stromu adresářů LDAP: ldapsearch .

v tomto tutoriálu uvidíme, jak můžete snadno vyhledávat LDAP pomocí ldapsearch.

také zkontrolujeme možnosti poskytnuté příkazem, abychom mohli provádět pokročilá vyhledávání LDAP.

Obsah

Hledání LDAP pomocí ldapsearch

nejjednodušší způsob, jak hledat LDAP je pomocí ldapsearch s „-x“ možnost jednoduché ověřování a zadat hledat základnu s „-b“.

Pokud nespustíte vyhledávání přímo na serveru LDAP, budete muset určit hostitele pomocí možnosti „- H“.

$ ldapsearch -x -b <search_base> -H <ldap_host>

Jako příklad, řekněme, že máte OpenLDAP server nainstalován a spuštěn na 192.168.178.29 hostitele sítě.

Pokud váš server přijímá anonymní ověřování, budete moci provést vyhledávací dotaz LDAP bez vazby na účet správce.

$ ldapsearch -x -b "dc=devconnected,dc=com" -H ldap://192.168.178.29
pro hledání v ldap jednoduchý dotaz

Jak můžete vidět, pokud nenastavíte žádné filtry, LDAP klient bude předpokládat, že chcete spustit vyhledávání na všechny třídy objektů adresářového stromu.

v důsledku toho vám bude nabídnuto mnoho informací. Pokud chcete omezit prezentované informace, vysvětlíme filtry LDAP v další kapitole.

Vyhledávání LDAP s admin účtu

V některých případech, možná budete chtít spustit dotazy LDAP jako admin účtu za účelem dodatečné informace prezentované na vás.

Chcete-li toho dosáhnout, budete muset provést požadavek na vazbu pomocí účtu správce stromu LDAP.

Do hledání LDAP pomocí účtu správce, musíte provést „ldapsearch“ dotaz „-D“ volbou pro bind DN a „-W“ v zájmu vyzváni k zadání hesla.

$ ldapsearch -x -b <search_base> -H <ldap_host> -D <bind_dn> -W

Jako příklad, řekněme, že váš účet správce má následující rozlišující název : „cn=admin,dc=devconnected,dc=com“.

s cílem provádět hledání LDAP jako tento účet, budete muset spustit následující dotaz

$ ldapsearch -x -b "dc=devconnected,dc=com" -H ldap://192.168.178.29 -D "cn=admin,dc=devconnected,dc=com" -W 
pro hledání v ldap pomocí účtu správce

Při spuštění hledání LDAP jako účet správce, můžete být vystaveni uživatele zašifrovaná hesla, takže se ujistěte, že můžete spustit váš dotaz soukromě.

spuštění vyhledávání LDAP pomocí filtrů

spuštění jednoduchého vyhledávacího dotazu LDAP bez filtrů bude pravděpodobně ztrátou času a zdrojů.

většinu času chcete spustit vyhledávací dotaz LDAP, abyste našli konkrétní objekty ve stromu adresářů LDAP.

Chcete-li vyhledat položku LDAP s filtry, můžete připojit filtr na konci příkazu ldapsearch : vlevo zadáte typ objektu a vpravo hodnotu objektu.

Volitelně můžete zadat atributy, které mají být vráceny z objektu (uživatelské jméno, uživatelské heslo atd.)

$ ldapsearch <previous_options> "(object_type)=(object_value)" <optional_attributes>

Najít všechny objekty ve stromu adresáře

s cílem vrátit všechny objekty jsou k dispozici ve vašem LDAP strom, můžete přidat „objectclass“ filtr a zástupný znak „*“, aby určit, že se chcete vrátit všechny objekty.

$ ldapsearch -x -b <search_base> -H <ldap_host> -D <bind_dn> -W "objectclass=*"

při provádění tohoto dotazu se zobrazí všechny objekty a všechny atributy dostupné ve stromu.

hledání uživatelských účtů pomocí ldapsearch

řekněme například, že chcete najít všechny uživatelské účty ve stromu adresářů LDAP.

ve výchozím nastavení budou mít uživatelské účty s největší pravděpodobností třídu strukturního objektu „účet“, kterou lze použít k zúžení všech uživatelských účtů.

$ ldapsearch -x -b <search_base> -H <ldap_host> -D <bind_dn> -W "objectclass=account"

ve výchozím nastavení dotaz vrátí všechny atributy dostupné pro danou třídu objektů.

najít všechny uživatele v ldap pomocí ldapsearch

Jak je uvedeno v předchozí části, můžete připojit volitelné atributy k vašemu dotazu, pokud chcete zúžit vyhledávání.

například, pokud máte zájem pouze v uživatelských KÓDŮ, UID a domovské adresáře, ty by se spustit následující hledání LDAP

$ ldapsearch -x -b <search_base> -H <ldap_host> -D <bind_dn> -W "objectclass=account" cn uid homeDirectory
upřesňující atributy ldap v ldapsearch

Úžasné, že jste úspěšně provedli LDAP vyhledávání pomocí filtrů a atribut selektorů!

A Operátor pomocí ldapsearch

aby bylo možné mít více filtrů oddělených „A“ operátoři, budete muset přiložit všechny podmínky v závorkách „&“ znak napsáno na začátku dotazu.

$ ldapsearch <previous_options> "(&(<condition_1>)(<condition_2>)...)"

například, řekněme, že chcete najít všechny položky mají „objectclass“, které se rovná „účet“ a „uid“, které je rovno „john“, ty by se spustit následující dotaz

$ ldapsearch <previous_options> "(&(objectclass=account)(uid=john))"
a operátor ldap vyhledávací dotaz

NEBO Provozovatel pomocí ldapsearch

aby bylo možné mít více filtrů oddělené „NEBO“ subjekty, budete muset přiložit všechny podmínky mezi závorky a znak „|“ napsáno na začátku dotazu.

$ ldapsearch <previous_options> "(|(<condition_1>)(<condition_2>)...)"

například, pokud chcete najít všechny položky s objekt třídy typu „účet“, nebo typ „organizationalRole“, měli byste spustit následující dotaz

$ ldapsearch <previous_options> "(|(objectclass=account)(objectclass=organizationalRole))"

Negace Filtry, pomocí ldapsearch

V některých případech, budete chtít, aby negativně odpovídat některé z položky v LDAP adresářový strom.

Chcete-li mít negativní filtr shody, musíte svůj stav (y) uzavřít“!“charakter a mají podmínky oddělené uzavřením závorek.

$ ldapsearch <previous_options> "(!(<condition_1>)(<condition_2>)...)"

například, pokud chcete, aby odpovídaly všechny položky, které nemají „kn“ atribut hodnotu „john“, napsali byste následující dotaz

$ ldapsearch <previous_options> "(!(cn=john))"

Hledání serveru LDAP konfigurace pomocí ldapsearch

pokročilé použití ldapsearch je příkaz pro načtení konfigurace LDAP stromu.

Pokud jste obeznámeni s OpenLDAP, víte, že v horní části hierarchie LDAP je umístěn objekt globální konfigurace.

v některých případech můžete chtít vidět atributy konfigurace LDAP, například za účelem úpravy řízení přístupu nebo úpravy hesla root admin.

Chcete-li vyhledat konfiguraci LDAP, použijte příkaz „ldapsearch“ a jako vyhledávací základnu pro váš strom LDAP zadejte „cn=config“.

Chcete-li spustit toto vyhledávání, musíte použít možnost „- Y“ a jako mechanismus ověřování zadat „externí“.

$ ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config 

Poznámka : tento příkaz musí být spuštěn na serveru přímo, ne z jednoho z vašich LDAP klienty.

vyhledávání serveru ldap konfigurace objekt

ve výchozím nastavení, tento příkaz vrátí mnoho výsledků, jako se to vrátí backendy, schémata a moduly.

Pokud chcete omezit vyhledávání na Konfigurace databáze, můžete zadat třídu objektů „olcDatabaseConfig“ pomocí ldapsearch.

$ ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config "(objectclass=olcDatabaseConfig)"

Použití zástupných znaků při hledání LDAP

Další silný způsob vyhledávání prostřednictvím seznamu LDAP položky je používat zástupné znaky, například hvězdičku („*“).

zástupný znak má stejnou funkci jako hvězdička použití v regex : bude použit, aby odpovídala jakékoli atribut začíná nebo končí s zadaný podřetězec.

$ ldapsearch <previous_options> "(object_type)=*(object_value)"$ ldapsearch <previous_options> "(object_type)=(object_value)*"

Jako příklad, řekněme, že chcete najít všechny položky, které mají atribut „uid“ začínající na písmeno „j“.

$ ldapsearch <previous_options> "uid=jo*"
pomocí zástupných znaků v ldap vyhledávací dotazy

Ldapsearch Pokročilé Možnosti

V tomto kurzu jste se naučili o základní ldapsearch možnosti, ale existuje mnoho dalších, které mohou mít zájem na vás.

LDAP Extensible Zápas Filtry

Extensible LDAP zápas filtry se používají k vylepšování stávajících operátorů (například operátor rovnosti) specifikovat typ porovnání, které chcete provést.

přeplňování výchozích operátorů

Chcete-li přeplňovat LDAP operátor, musíte použít syntaxi“:=“.

$ ldapsearch <previous_options> "<object_type>:=<object_value>"

například, pokud chcete vyhledat všechny položky mají „kn“, která je rovno „john,“ ty by se spustit následující příkaz,

$ ldapsearch <previous_options> "cn:=john"# Which is equivalent to$ ldapsearch <previous_options> "cn=john"

Jak jste si pravděpodobně všimli, běží hledání v „john“ nebo „JOHN“ vrátí stejný výsledek.

v důsledku toho, možná budete chtít, aby omezení výsledků na „john“ přesný zápas, což je hledání velká a malá písmena.

pomocí ldapsearch můžete přidat další filtry oddělené znaky“:“.

$ ldapsearch <previous_options> "<object_type>:<op1>:<op2>:=<object_value>"

například, za účelem vyhledávání, které je citlivé na velikost písmen, měli byste spustit následující příkaz,

$ ldapsearch <previous_options> "cn:caseExactMatch:=john"

Pokud nejste obeznámeni s LDAP zápas filtry, zde je seznam všech operátorů k dispozici.

závěr

v tomto tutoriálu jste se dozvěděli, jak můžete vyhledávat Strom adresářů LDAP pomocí příkazu ldapsearch.

viděli jste základy vyhledávání základních položek a atributů, stejně jako vytváření komplexních odpovídajících filtrů s operátory (a, nebo a zápornými operátory).

také jste se dozvěděli, že je možné přeplňovat stávající operátory pomocí rozšiřitelných možností shody a zadáním vlastního operátora, který má být použit.

Máte-li zájem o pokročilou správu systému Linux, máme na webu kompletní sekci věnovanou tomuto webu, takže se ujistěte, že se podívejte!

ldap

Related Posts

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *