miten LDAP-hakua haetaan LDAP-hakua käyttäen (esimerkkien kanssa)

Jos työskentelet keskisuuressa tai suuressa yrityksessä, olet todennäköisesti päivittäin vuorovaikutuksessa LDAP: n kanssa.

oli kyseessä sitten Windows-toimialueen ohjain tai Linux-OpenLDAP-palvelin, LDAP-protokolla on erittäin hyödyllinen autentikoinnin keskittämiseen.

LDAP-hakemistosi kasvaessa saatat kuitenkin eksyä kaikkiin kirjauksiin, joita sinun on ehkä hallittava.

onneksi on komento, joka auttaa sinua etsimään LDAP-hakemistopuun tietueita : ldapsearch.

tässä opetusohjelmassa näemme, miten voit helposti hakea LDAP: tä ldapsearch-ohjelmalla.

käymme läpi myös komennon antamia vaihtoehtoja kehittyneiden LDAP-hakujen suorittamiseksi.

Sisällysluettelo

Etsi LDAP-hakua käyttäen LDAP-hakua

helpoin tapa hakea LDAP-hakua on käyttää LDAP-hakua ”- x” – valinnalla yksinkertaiseen todennukseen ja määrittää hakukanta ”- b”: llä.

Jos et suorita hakua suoraan LDAP-palvelimella, joudut määrittelemään palvelimen valitsimella ”- H”.

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

esimerkkinä mainittakoon, että sinulla on OpenLDAP-palvelin asennettuna ja käynnissä verkon 192.168.178.29-isännällä.

jos palvelimesi hyväksyy anonyymin todennuksen, voit suorittaa LDAP-hakukyselyn sitoutumatta ylläpitotiliin.

$ ldapsearch -x -b "dc=devconnected,dc=com" -H ldap://192.168.178.29
ldap search basic query

kuten näet, jos et määritä suodattimia LDAP-asiakas olettaa, että haluat suorittaa haun hakemistopuun kaikista olioluokista.

tämän seurauksena sinulle esitetään paljon tietoa. Jos haluat rajoittaa esitettyjä tietoja, aiomme selittää LDAP-suodattimet seuraavassa luvussa.

Etsi LDAP järjestelmänvalvojan tilillä

joissakin tapauksissa haluat ehkä suorittaa LDAP-kyselyt järjestelmänvalvojan tilinä, jotta sinulle voidaan esittää täydentäviä tietoja.

tämän saavuttamiseksi sinun on tehtävä sidontapyyntö LDAP-puun järjestelmänvalvoja-tilin avulla.

LDAP-hakua varten sinun täytyy suorittaa ”ldapsearch”- kysely bind DN: n ”- D” – valinnalla ja ”- W”: n avulla, jotta voit pyytää salasanaa.

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

esimerkkinä mainittakoon, että järjestelmänvalvojatililläsi on seuraava tunnettu nimi : ”cn=admin,dc=devconnected,dc=com”.

jotta LDAP-haku voitaisiin suorittaa tällä tilillä, on suoritettava seuraava kysely

$ ldapsearch -x -b "dc=devconnected,dc=com" -H ldap://192.168.178.29 -D "cn=admin,dc=devconnected,dc=com" -W 
ldap-haku admin-tilillä

kun suoritat LDAP-haun järjestelmänvalvojan tilinä, saatat altistua käyttäjän salatuille salasanoille, joten varmista, että suoritat kyselysi yksityisesti.

LDAP-hakujen suorittaminen suodattimilla

tavallisen LDAP-hakukyselyn suorittaminen ilman suodattimia on todennäköisesti ajan ja resurssien tuhlausta.

useimmiten haluat suorittaa LDAP-hakukyselyn löytääksesi tiettyjä kohteita LDAP-hakemistopuustasi.

etsiäksesi LDAP-merkintää suodattimilla, voit liittää suodattimen ldapsearch-komennon loppuun : vasemmalla määritetään objektityyppi ja oikealla objektin arvo.

valinnaisesti voit määrittää objektista palautettavat attribuutit (käyttäjätunnus, käyttäjän salasana jne.)

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

kaikkien objektien löytäminen hakemistopuusta

jotta voit palauttaa kaikki LDAP-puussa olevat objektit, voit liittää ”objectclass” – suodin ja yleismerkin ”*” määrittääksesi, että haluat palauttaa kaikki objektit.

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

tätä kyselyä suoritettaessa sinulle esitetään kaikki puussa olevat objektit ja attribuutit.

käyttäjätilien löytäminen ldapsearch

– hakua käyttäen esimerkiksi sanotaan, että haluat löytää kaikki käyttäjätilit LDAP-hakemistopuusta.

oletuksena käyttäjätileillä on todennäköisesti ”tilin” rakenteellinen objektiluokka, jonka avulla voidaan rajata kaikki käyttäjätilit.

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

oletuksena kysely palauttaa kaikki annetulle olioluokalle käytettävissä olevat attribuutit.

Etsi kaikki käyttäjät ldap: stä käyttäen LDAP-hakua

kuten edellisessä osiossa on määritelty, voit liittää valinnaisia attribuutteja kyselyysi, jos haluat rajata hakua.

esimerkiksi, jos olet kiinnostunut vain käyttäjän CN -, UID-ja kotihakemistosta, voit suorittaa seuraavan LDAP-haun

$ ldapsearch -x -b <search_base> -H <ldap_host> -D <bind_dn> -W "objectclass=account" cn uid homeDirectory
täsmentäen ldap-attribuutteja ldapsearch

mahtava, olet suorittanut LDAP-haun onnistuneesti suodattimilla ja attribuuttivalitsimilla!

ja ldapsearchia

käyttävä operaattori, jotta ”ja” operaattorit erottaisivat useita suodattimia, on sulkeiden väliin liitettävä kaikki ehdot ja kyselyn alkuun on kirjoitettu ”&” – merkki.

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

esimerkiksi sanotaan, että haluat löytää kaikkien tietueiden ”objektiluokan”, joka on yhtä kuin ”tili” ja ”UID”, joka on yhtä kuin ”john”, ajaisit seuraavan kyselyn

$ ldapsearch <previous_options> "(&(objectclass=account)(uid=john))"
ja operaattori LDAP search query

tai operaattori, joka käyttää ldapsearch

jotta ”tai” operaattorit erottavat useita suodattimia, on sulkeiden väliin liitettävä kaikki ehdot ja kyselyn alkuun on kirjoitettu ” | ” – merkki.

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

esimerkiksi, jos haluat löytää kaikki merkinnät, joiden objektiluokka on tyyppi ”tili” tai tai Tyyppi ”organizationalRole”, voit suorittaa seuraavan kyselyn

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

Negaatiosuodattimet käyttäen ldapsearch

joissakin tapauksissa haluat negatiivisesti vastata joitakin merkintöjä LDAP-hakemistopuusi.

saadakseen negatiivisen täsmäyssuodattimen, sinun täytyy liittää ehtosi(s) tekstiin ”!”luonne ja ehdot erotettu sulkemalla suluissa.

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

esimerkiksi, jos haluat sovittaa kaikki merkinnät, joilla ei ole ”CN” – attribuuttia arvo ”john”, kirjoittaisit seuraavan kyselyn

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

LDAP-palvelimen kokoonpanon löytäminen ldapsearch

yksi ldapsearch-komennon kehittynyt käyttö on hakea LDAP: n konfiguraatio puu.

Jos tunnet Openldapin, tiedät, että LDAP-hierarkiasi huipulla on globaali konfiguraatio-objekti.

joissakin tapauksissa haluat ehkä nähdä LDAP-määrityksesi attribuutteja, jotta voit muokata kulunvalvontaa tai muokata esimerkiksi pääkäyttäjän salasanaa.

etsi LDAP-asetuksia komennolla ”ldapsearch” ja määrittele LDAP-puun hakukannaksi ”CN=config”.

tämän haun suorittamiseksi sinun on käytettävä valitsinta ”-Y” ja määritettävä ”ulkoinen” todennusmekanismiksi.

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

Huom : Tämä komento on suoritettava palvelimella suoraan, ei yhdeltä LDAP-asiakkaaltasi.

searching ldap configuration object

oletuksena tämä komento palauttaa paljon tuloksia, kun se palaa taaksepäin, skeemat ja moduulit.

Jos haluat rajoittaa haun tietokantakokoonpanoihin, voit määrittää ”olcDatabaseConfig” – olioluokan ldapsearch-ohjelmalla.

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

yleismerkkien käyttäminen LDAP-Hauissa

toinen tehokas tapa etsiä LDAP-tietueiden luettelosta on käyttää yleismerkkejä, kuten asteriskia (”*”).

yleismerkillä on sama funktio kuin tähdellä, jota käytät regexissä : sitä käytetään vastaamaan mitä tahansa määritettä, joka alkaa tai päättyy tietyllä substraatilla.

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

esimerkkinä voidaan sanoa, että halutaan löytää kaikki merkinnät, joiden attribuutti ”uid” alkaa kirjaimella ”j”.

$ ldapsearch <previous_options> "uid=jo*"
Jokerien käyttäminen ldap-hakukyselyissä

LDAP-Hakuasetukset

tässä opetusohjelmassa opit ldapsearch-perusvaihtoehdoista, mutta on monia muita, jotka saattavat kiinnostaa sinua.

LDAP Extensible Match-suodattimia

Extensible LDAP match-suodattimia käytetään nykyisten operaattoreiden (esimerkiksi tasa-arvo-operaattorin) ahtamiseen määrittämällä, minkä tyyppistä vertailua haluat tehdä.

Supercharging default operators

to supercharge a LDAP operator, you have to use the ”:=” syntax.

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

esimerkiksi, jos haluat etsiä kaikkia tietueita, joiden ”CN” on yhtä suuri kuin ”john”, suorita seuraava komento

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

kuten luultavasti huomasit, haun suorittaminen ”john” tai ”JOHN” palauttaa saman tarkan tuloksen.

tämän vuoksi haluat ehkä rajoittaa tulokset ”john” – täsmäykseen, jolloin haun kirjainkoko on herkkä.

ldapsearch-ohjelmalla voi lisätä lisäsuodattimia, jotka on erotettu”: ”- merkeillä.

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

esimerkiksi hakua varten, joka on kirjainkokoinen, suoritettaisiin seuraava komento

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

Jos et tunne LDAP-ottelusuodattimia, tässä on lista kaikista käytettävissäsi olevista operaattoreista.

johtopäätös

tässä opetusohjelmassa opit, miten voit hakea LDAP-hakemistopuuta ldapsearch-komennolla.

olet nähnyt perustietojen ja attribuuttien etsimisen perusteet sekä monimutkaisten yhteensopivuussuodattimien rakentamisen operaattoreiden (ja, tai ja negatiivisten operaattoreiden) kanssa.

olet myös oppinut, että olemassa olevia operaattoreita on mahdollista supistaa käyttämällä extensible match-vaihtoehtoja ja määrittämällä käytettävä mukautettu operaattori.

Jos olet kiinnostunut kehittyneestä Linux-järjestelmän hallinnasta, meillä on sille omistettu kokonainen osio nettisivuilla, joten muista tarkistaa se!

ldap

Related Posts

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *