OpenLDAP-komentojen yhteenveto
- ldapsearch: Hae OpenLDAP-hakemistopuumerkintöjä.
- ldapadd: Lisää hakemistopuumerkintöjä LDIF-muodossa.
- ldapdelete: Poistaa OpenLDAP-hakemistopuumerkinnät.
- ldapmodify: Muokkaa OpenLDAP-hakemistopuun merkintää.
- ldapwhoami: Vahvistaa OpenLDAP-käyttäjien henkilöllisyyden.
- ldapmodrdn: Tuomaree OpenLDAP-hakemistopuun DN-merkinnän.
- ldapcompare: Määrittää, kuuluvatko DN-arvo ja määritelty parametriarvo samaan merkintään.
- ldappasswd: Muokkaa OpenLDAP-hakemistopuun käyttäjämerkintää salasanan nollaamiseksi.
- slaptest: Tarkista slapd.conf-tiedosto tai cn=configuration -hakemisto.
- slapindex: Luo OpenLDAP-hakemistopuun indeksin kyselyjen tehokkuuden takaamiseksi.
- slapcat: Muuntaa tiedot LDIF-tiedostoiksi OpenLDAP:lle.
ldapadd-komento
Vaihtoehdot | kuvaus | -x | Suorita yksinkertainen todennus | -D | DN, jota käytettiin palvelimen sitomiseen | -h | Hakemistopalvelun osoite | -w | Sido DN-salasana | -f | Tiedostot, jotka käyttävät LDIF-tiedostoja merkinnän lisäämiseen |
Ensiksi valmistelemme test.ldif-tiedoston seuraavalla komennolla:
Sisältö on seuraava:
dn: uid=xzz,ou=Users,dc=itsvse,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
homeDirectory: /home/itsvse_xzz
loginShell: /bin/bash
cn: xzz
uidNumber: 1000
gidNumber: 1000
sn: System Administrator
mail: xzz@itsvse.com
postalAddress: shanghai
mobile: 13788888888
Lisää komennot seuraavasti:
Salasanan syöttämisen jälkeen se lisätään onnistuneesti, kuten alla olevassa kuvassa näkyy:
ldapmodifient-komento
ldapmodated-komento on kiinteä ja toteuttaa pääasiassa erilaisia muokkaustoimintoja konfiguraatiotiedostojen kautta.
demo.ldif-tiedosto on seuraava, mikä tarkoittaa, että käyttäjän uid=xzz -parametria muutetaan.
LDAPPASSWD-komento
ldappasswd avaa yhteyden LDAP-palvelimelle ja vaihtaa merkintäsalasanan.
Vaihtoehdot | kuvaus | -x | Suorita yksinkertainen todennus | -D | DN, jota käytettiin palvelimen sitomiseen | -w | Sido DN-salasana | -S | Syötä salasana, kun pyydetään | -s | Pass salasanan asettamiseksi | -a | Pass Set Old PassWD To Pass to Pass | -A | Käynnistä vanhan passwd:n asetus | -H | viittaa sidottavaan palvelimeen | -Minä | Käytä SASL-istuntomenetelmää |
ldapsearch-komento
LDAP-hakukomento
[root@VM_0_9_centos ~]# ldapsearch -h
ldapsearch: option requires an argument -- 'h'
ldapsearch: unrecognized option -h
usage: ldapsearch [options] [filter [attributes...]]
where: suodatin RFC 4515 -yhteensopiva LDAP-hakusuodatin attribuutit valkoisella välilyönnillä erotettu luettelo attribuuttikuvausista joihin voi kuulua: 1.1 Ei attribuutteja * kaikki käyttäjäominaisuudet + kaikki operatiiviset ominaisuudet Hakuvaihtoehdot: -deref yksi ei koskaan (oletus), aina, etsi tai löydä -A hakee vain attribuuttinimet (ei arvoja) -B-pohjainen kanta DN haun yhteydessä -c jatkuva toimintatila (älä pysähdy virheisiin) -E [!] <ext>[=<extparam>] hakulaajennukset (! osoittaa kriittisyyttä) [!] domainScope (domain-laajuus) !dontUseCopy (Don't Use Copy) [!] mv=<filter> (RFC 3876 täsmätettyjen arvojen suodatin) [!] pr=<size>[/prompt|noprompt] (RFC 2696 sivutetut tulokset/kehote) [!] sss=[-]<attr[:OID]>[/[-]<attr[:OID]>...] (RFC 2891 palvelinpuolen lajittelu) [!] alimerkinnät[=totta|epätosi] (RFC 3672 -alamerkinnät) [!] sync=ro[/<cookie>] (RFC 4533 LDAP Sync refreshOnly) rp[/<cookie>][/<slimit>] (refreshAndPersist) [!] vlv=<before>/<after>(/<offset><count>/|:<value>) (LDAPV3-VLV-09 virtuaaliset listanäkymät) [!] deref=derefAttr:attr[,...] [; derefAttr:attr[,...] [; ...]] [!] <oid>[=:<b64value>] (yleinen ohjaus; ei vastausta) -f-tiedoston lukutoiminnot 'tiedostosta' -F-etuliite URL-etuliite tiedostoille (oletus: file:///tmp/) -l rajoittaa haun aikarajaa (sekunteina, tai "ei mitään" tai "maksimi") -L tulosta vastaukset LDIFv1-muodossa -LL tulostaa vastaukset LDIF-muodossa ilman kommentteja -LLL tulostaa vastaukset LDIF-muodossa ilman kommentteja ja versio -M ota käyttöön Manage DSA IT Control (-MM tehdäkseen kriittisen) -P-version protokollaversio (oletus: 3) -s scope yksi perus, yksi, ali- tai lapsialue (hakulaajuus) -S attr lajittele tulokset attribuutin 'attr' mukaan -t kirjoittaa binääriarvoja väliaikaiseen hakemiston tiedostoihin -tt kirjoita kaikki arvot väliaikaiseen hakemiston tiedostoihin -T-polun kirjoitustiedostot polun määrittelemään hakemistoon (oletus: /tmp) -u sisällytä käyttäjäystävälliset merkintänimet ulostuloon -z rajoittaa kokoraja (merkinnöissä, tai "none" tai "max") haussa Yleisiä vaihtoehtoja: -d-taso aseta LDAP-debuggaustaso 'tasoksi' -D sitoutuu DN:ään -e [!] <ext>[=<extparam>] yleiset laajennukset (! tarkoittaa kriittisyyttä) [!] assert=<filter> (RFC 4528; RFC 4515 -suodatinmerkkijono) [!] authzid=<authzid> (RFC 4370; "dn:<dn>" tai "u:<user>") [!] ketjuttaminen[=<resolveBehavior>[/<continuationBehavior>]] yksi "chainingPreferred", "chainingRequired", "suosituksetPreferred", "suosituksetVaaditaan" [!] manageDSAit (RFC 3296) [!] noop Ppolicy [!] postread[=<attrs>] (RFC 4527; pilkulla eroteltu attr-lista) [!] esiluku[=<attrs>] (RFC 4527; pilkulla eroteltu attr-lista) [!] rentoudu [!] Sessiontracking hylkää, peruuta, ohita (SIGINT lähettää hylkää/peruuta, tai jättää vastauksen huomiotta; jos se on kriittinen, ei odota SIGINTiä. ei varsinaisesti ohjaa) -h isännöi LDAP-palvelinta -H URI LDAP Uniform Resource Identifier(t) -Käytän SASL Interaktiivista tilaa -Näytä, mitä tehtäisiin, mutta älä oikeasti tee sitä -N ei käytä käänteistä DNS:ää SASL-isäntänimen kanonisointiin -O props SASL:n turvaominaisuudet -o <opt>[=<optparam>] yleiset vaihtoehdot nettimeout=<timeout> (sekunneissa, tai "ei mitään" tai "maksimi") ldif-wrap=<width> (sarakkeina tai "no" ilman kääreitä) -p-porttiportti LDAP-palvelimella -Q käytä SASL:n hiljaista tilaa -R-alue SASL-alue -U authcid SASL-todennusidentiteetti -v ajetaan pitkässä tilassa (diagnostiikka standardilähtöön) -V-tulostusversion tiedot (-vain VV) -w passwd bind password (yksinkertaiseen tunnistautumiseen) -W kehote sitoa salasana -x Yksinkertainen todennus -X authzid SASL-valtuutusidentiteetti ("dn:<dn>" tai "u:<user>") -y tiedosto Lue salasana tiedostosta -Y-mekaaninen SASL-mekanismi -Z Käynnistä TLS-pyyntö (-ZZ vaatii onnistuneen vastauksen) Käsky on seuraava:
Kyselytulokset ovat seuraavat:
Kysy kaikilta käyttäjiltä:
LDAP-substantiivin selitys
Objektiluokka
LDAP-objektiluokka on LDAP:iin sisäänrakennettu tietomalli. Jokaisella objectClassilla on oma tietorakenteensa, esimerkiksi meillä on objectClass nimeltä "Phone Book", jolla on varmasti monia sisäänrakennettuja attribuutteja, kuten nimi (uid), ID-numero (uidNumber), yksikkönimi (gid), kotiosoite (homeDirectory) jne., ja samalla on myös objectClass nimeltä "Classmate Record", jolla on "puhelinluettelo" Jotkut attribuutit (kuten uid, homeDirectory) sisältävät myös attribuutteja, joita ei ole "puhelinluettelossa" (kuten kuvaus jne.).
Osallistuminen
Merkintää voidaan kutsua merkinnäksi, tietue on tietue, perustallennusyksikkö LDAP:ssa; Sitä voidaan myös ajatella DN-kokoelmana ja joukkona attribuutteja. Huomaa, että merkintä voi sisältää useita objectClasseja, esimerkiksi zhang3 voi olla samanaikaisesti "Puhelinluettelossa" tai "Classmate Recordissa".
DN
Distinguished Name, LDAP:n merkinnän ainutlaatuinen erillinen nimi, täydellinen DN-kirjoitusasu: uid=zhang3, ou=People, dc=163, dc=com. Vain LDAP-merkintä on yksilöllinen LDAP-palvelimelle.
LDAP-hakusuodatin
Käytä suodatinta LDAP:n etsimiseen. Suodatin koostuu yleensä yksiköstä, kuten (attribuutti=arvo), esimerkiksi: (&(uid=ZHANGSAN)(objectclass=person)) tarkoittaa, että hakukäyttäjän LDAP-merkintä on ZHANGSAN. Toinen esimerkki on: (&(|( uid= ZHANGSAN)(uid=LISI))(objectclass=person)), mikä viittaa siihen, että hakutunnisteella varustetun käyttäjän haku on ZHANGSAN eli LISI; Voit myös käyttää *:ää edustamaan mitä tahansa arvoa, kuten (uid=ZHANG*SAN), ja etsiä alkioita, joiden uid-arvot alkavat ZHANGilla ja päättyvät SAN:iin. Lisäksi eri LDAP-attribuuttien sovitussääntöjen mukaan voidaan olla suodatin seuraavasti: (&(createtimestamp>=20050301000000)(createtimestamp<=20050302000000)), mikä osoittaa, että haun luontiaika on 20050301000000 ja 20050302000000 välillä.
Suodattimessa "&" tarkoittaa "ja"; “!” tarkoittaa "ei"; “|” tarkoittaa "tai". Riippuen vastaavuussäännöistä, voimme käyttää "=", "~=", ">=" ja "<=".
Perus-DN
Perus-DN voi olla "dc=163,dc=com" tai "dc=People,dc=163,dc=com". Koska LDAP on puu-tietorakenne, haku alkaa BaseDN:stä perustiedon määrittämisen jälkeen, ja voimme määritellä haun laajuuden seuraavasti: vain hakupohjainen (base), basedn direct sub level (yksi taso) ja basedn all sub tree level.
objectClass
LDAP:ssa merkinnän täytyy sisältää objectClass-attribuutti ja sille on annettava vähintään yksi arvo. Jokainen arvo toimii LDAP-merkinnän tallennusmallina; Mallipohjassa on attribuutti, jolle merkinnälle on annettava sekä valinnainen attribuutti. objectClassilla on tiukka hierarkia, jossa top ja alias ovat ylhäällä. Esimerkiksi objectClass organizationalPerson on alisteinen henkilölle, ja person on alistunut topille.
objectClass voidaan jakaa seuraaviin kolmeen kategoriaan: Rakenteellinen: kuten henkilö ja organisaatioYksikkö; Apu: kuten extensibeObject; Tiivistelmä: Esimerkiksi abstraktia objectClass-tiedostoa ei voi käyttää suoraan. OpenLDAP-skeemassa on määritelty monia objectClasseja, ja joidenkin yleisesti käytettyjen objectClassien nimet on listattu alla.
- Tili
- alias
- dcobject
- Alue
- ipHost
- Organisaatio
- organisaatioRooli
- organisaatioyksikkö
- Henkilö
- organisalPerson
- inetOrgPerson
- asuinhenkilö
- posixAccount
- posixGroup
ObjectClass on kokoelma attribuutteja, ja LDAP kapseloi monia yleisiä olioita ihmisorganisaatioissa ja kapseloi ne olioluokkiin. Esimerkiksi henkilöstöön kuuluvat sukunimi (sn), etunimi (cn), puhelinnumero (telephoneNumber), salasana (userPassword) ja muita ominaisuuksia, ja organizationalPerson on perintöluokka henkilöstä, joka yllä mainittujen ominaisuuksien lisäksi sisältää myös arvonimen, postinumeron (postinumero) ja postiosoitteen (postalAddress) ja muita ominaisuuksia.
Kohdetyypit voidaan helposti määritellä objektiluokkien avulla. Jokainen merkintä voi suoraan periä useita objektiluokkia, jotka puolestaan perivät erilaisia ominaisuuksia. Jos on kaksi objektiluokkaa, joilla on sama attribuutti, vain yksi attribuutti säilyy merkinnän perimisen jälkeen. Objektiluokka määrittelee myös, mitkä ominaisuudet ovat perustietoa ja mitkä ominaisuudet sisältävät (Täytyy vaatia): mitkä ominaisuudet ovat laajennettua tietoa ja mitkä voivat sisältää (May tai Optional).
On olemassa kolmea tyyppiä olioluokkia: rakenteellinen, abstrakti ja apuluokka. Rakenteelliset tyypit ovat perustyyppejä, jotka määrittelevät objektikappaleen perusominaisuudet, ja jokainen alkio kuuluu ja kuuluu vain yhteen rakenteelliseen olioluokkaan. Abstraktit tyypit voivat olla rakenteellisia tyyppejä tai muita abstrakteja tyyppivanhempia, jotka järjestävät objektien ominaisuuksien yhteiset osat, kutsutaan malleiksi muille luokille, eikä merkinnät voi suoraan integroida abstrakteja olioluokkia. Aputyyppi määrittelee objektientiteetin laajennetut ominaisuudet. Vaikka jokainen palkki kuuluu vain yhteen rakenteelliseen olioluokkaan, se voi kuulua useampaan apuobjektiluokkaan samanaikaisesti.
Objektiluokka voi periä toisensa, joten olioluokan juuriluokka on ylin abstrakti olioluokka. Ottaen yleisesti käytetyt ihmistyypit esimerkkinä, heidän perintösuhteensa on kuvassa esitetty:
Accoutin sisäänrakennetut attribuutit ovat: userid, description, host, localityName, organizationName, organizationalUnitName, katso myös;
inetOrgPersonin sisäänrakennetut ominaisuudet ovat cn, sn, description, seeAlso, telephoneNumber, userPassword, destinationIndicator, facsimileTelephoneNumber, internationaliSDNNumber, l, ou, physicalDeliveryOfficeName、postOfficeBox、postalAddress、postalCode、preferredDeliveryMethod、registeredAddress、st、street、telephoneNumber、teletexTerminalIdentifier、 telexNumber、title、x121Address、audio、usinessCategory、carLicense、departmentNumber、isplayName、employeeNumber、employeeType、givenName、homePhone、homePostalAddress、initials、 jpegPhoto, labeledURI, mail, manager, mobile, o, pager, photo, preferredLanguage, roomNumber, secretary, uid, userCertificate jne.;
Kuten näet, accout asettaa vain muutamia välttämättömiä ja hyödyllisiä ominaisuuksia (se riittää ehdottomasti kirjautumisen varmistamiseen), kun taas inetOrgPersonissa on paljon sisäänrakennettuja ominaisuuksia, kuten puhelinnumero, matkapuhelinnumero, katuosoite, sähköpostiosoite, sähköpostiosoite, huonenumero, avatar, esimies, työntekijänumero jne.
Siksi LDAP:ta konfiguroidessa suositellaan asettamaan objectClass-tyyppi accoutiksi, jos se on tarkoitettu vain kirjautumisen varmistamiseen, ja objectClassin asettamista inetOrgPersoniksi, jos haluat luoda suuren ja kattavan aarreaitan työntekijätietoja
Tässä käytän yleensä 'inetOrgPerson', 'posixAccount', 'shadowAccount'.
Tilin vaaditut attribuutit ovat userid, kun taas posixAccountin vaaditut attribuutit ovat cn, gidNumber, homeDirectory, uid, uidNumber; ShadowAccountin vaadittu attribuutti on uid, ja valinnaisia attribuutteja ovat shadowExpire, shadowInactive, shadowMax, shadowMin, userPassword jne. Ylin vaadittu ominaisuus on objectClass (on nähtävissä, että top ja muut objectClassit ovat perittyjä suhteita).
Atstrakti
Attribuutit ovat samankaltaisia kuin ohjelmoinnin muuttujat ja ne voidaan määrittää. Monet yleisesti käytetyt attribuutit määritellään OpenLDAP:ssa (käyttäjät voivat myös määritellä omat attribuuttinsa). Yleiset attribuutin merkitykset ovat seuraavat:
- c: Country.
- CN:Common Name, joka viittaa objektin nimeen. Jos se viittaa henkilöön, sen koko nimeä tulee käyttää.
- DC:Domain -komponentti, jota käytetään usein viittaamaan osaan verkkotunnuksesta.
- givenName: viittaa henkilön nimeen, ei sukunimeen.
- l: Viittaa paikannimeen, kuten kaupungin tai muun maantieteellisen alueen nimeen.
- Posti: Sähköpostiosoite.
- o:organizationName, joka viittaa organisaation nimeen.
- ou:organizationalUnitName, joka viittaa organisaatioyksikön nimeen.
- SN: sukunimi, viittaa henkilön sukunimeen.
- telephoneNumber: Puhelinnumero, jonka tulisi sisältää sen maan koodi, jossa se on.
Vinkki: objectClass on erityinen attribuutti, joka sisältää myös muita käytettyjä attribuutteja itsensä lisäksi.
Eri objectClass-luokille on yleensä vaadittuja ominaisuusarvoja ja joitakin valinnaisia ominaisuusarvoja. Esimerkiksi voit käyttää objectClass-henkilöä edustamaan käyttäjän merkintää järjestelmässä, ja käyttäjän täytyy yleensä tietää jonkin verran tietoa, kuten nimi, puhelinnumero, salasana, kuvaus jne. Kuten alla olevasta kuvasta näkyy, henkilölle voi asettaa käyttäjän etu- ja sukunimet cn:n ja sn kautta, mikä on pakollista, kun taas muut ominaisuudet ovat vapaaehtoisia.
Seuraavassa on luettelo joistakin yleisesti käytetyistä objectClass-vaatimuksista, joita vaaditaan.
- account:userid。
- Organisaatio:O。
- Henkilö: CN ja SN.
- organizationalPersonal: Sama kuin henkilö.
- organizationalRole:cn。
- organizationUnit:ou。
- posixGroup:cn、gidNumber。
- posixAccount:cn、gidNumber、homeDirectory、uid、uidNumber。
(Loppu)
|