OpenLDAP komandų santrauka
- ldapsearch: ieškokite OpenLDAP katalogų medžio įrašų.
- ldapadd: prideda katalogų medžio įrašus per LDIF formatą.
- ldapdelete: ištrina OpenLDAP katalogų medžio įrašus.
- ldapmodify: Pakeiskite OpenLDAP katalogo medžio įrašą.
- ldapwhoami: Patvirtina OpenLDAP vartotojų tapatybę.
- ldapmodrdn: Sprendžia OpenLDAP katalogo medžio DN įrašą.
- ldapcompare: nustato, ar DN reikšmė ir nurodyta parametro reikšmė priklauso tam pačiam įrašui.
- ldappasswd: pakeiskite OpenLDAP katalogų medžio vartotojo įrašą, kad iš naujo nustatytumėte slaptažodį.
- slaptest: Patikrinkite slapd.conf failą arba cn=configuration katalogą.
- slapindex: sukuria OpenLDAP katalogų medžio indeksą, kad būtų užtikrintas užklausų efektyvumas.
- slapcat: konvertuoja duomenis į LDIF failus, skirtus OpenLDAP.
Komanda ldapadd
Parinktys | apibūdinimas | -x | Atlikite paprastą autentifikavimą | -D | DN, naudojamas serveriui susieti | -h | Katalogų tarnybos adresas | -w | Susieti DN slaptažodį | -f | Failai, kuriuose įrašui pridėti naudojami LDIF failai |
Pirmiausia paruošiame failą test.ldif su šia komanda:
Turinys yra toks:
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
Įtraukite komandas taip:
Įvedus slaptažodį, jis sėkmingai pridedamas, kaip parodyta paveikslėlyje žemiau:
Komanda ldapmodify
Komanda ldapmodify yra fiksuota ir daugiausia įgyvendina įvairias modifikavimo funkcijas per konfigūracijos failus.
Demo.ldif failas yra toks, o tai reiškia, kad vartotojo uid=xzz parametras uidNumber yra modifikuotas.
ldappasswd komanda
ldappasswd atidaro ryšį su LDAP serveriu ir pakeičia įvesties slaptažodį.
Parinktys | apibūdinimas | -x | Atlikite paprastą autentifikavimą | -D | DN, naudojamas serveriui susieti | -w | Susieti DN slaptažodį | -S | Kai būsite paraginti, įveskite slaptažodį | -s | pereiti, kad nustatytumėte slaptažodį, kad jis būtų | -a | pass set old passwd to pass | -A | Paraginti senojo passwd nustatymą | -H | nurodo serverį, kuris turi būti susietas | - Aš | Naudoti SASL seanso metodą |
Komanda ldapsearch
LDAP paieškos komanda
[root@VM_0_9_centos ~]# ldapsearch -h
ldapsearch: option requires an argument -- 'h'
ldapsearch: unrecognized option -h
usage: ldapsearch [options] [filter [attributes...]]
where: filtras RFC 4515 suderinamas LDAP paieškos filtras Atributai Tarpais atskirtas atributų aprašų sąrašas Tai gali būti: 1.1 Nėra atributų * Visi vartotojo atributai + visi veiklos požymiai Paieškos parinktys: -deref vienas iš niekada (numatytasis), visada, ieškoti arba rasti -A nuskaityti tik atributų pavadinimus (be reikšmių) -b basedn bazės dn paieškai -C nepertraukiamo veikimo režimas (nesustokite dėl klaidų) -E [!] <ext>[=<extparam>] ieškos plėtiniai (! nurodo kritiškumą) [!] domainScope (domeno aprėptis) !dontUseCopy (Nenaudoti kopijavimo) [!] mv=<filter> (RFC 3876 atitikusių reikšmių filtras) [!] pr=<size>[/prompt|noprompt] (RFC 2696 puslapių rezultatai/raginimas) [!] sss=[-]<attr[:OID]>[/[-]<attr[:OID]>...] (RFC 2891 serverio pusės rūšiavimas) [!] subentries[=true|false] (RFC 3672 subentries) [!] sync=ro[/<cookie>] (RFC 4533 LDAP sinchronizavimo atnaujinimasOnly) rp[/<cookie>][/<slimit>] (refreshAndPersist) [!] vlv=<before>/<after>(/<offset>/<count>|:<value>) (LDAV3-VLV-09 virtualaus sąrašo peržiūros) [!] deref=derefAttr:attr[,...] [; derefAttr:attr[,...] [; ...]] [!] <oid>[=:<b64value>] (bendroji kontrolė; nėra atsakymo tvarkymo) -f failo nuskaitymo operacijos iš "failo" -F priešdėlis URL priešdėlis failams (numatytasis: file:///tmp/) -l Apriboti paieškos laiką (sekundėmis arba "nėra" arba "maks.) -L spausdinti atsakymus LDIFv1 formatu -LL spausdinti atsakymus LDIF formatu be komentarų -LLL spausdinti atsakymus LDIF formatu be komentarų ir versija -M įjungti Valdyti DSA IT valdymą (-MM, kad būtų kritinis) -P versija protokolo versija (numatytasis: 3) -s taikymo sritis vienas iš bazės, vienas, antrinis arba vaikai (paieškos apimtis) -S attr rūšiuoti rezultatus pagal atributą 'attr' -t rašyti dvejetaines reikšmes į failus laikinajame kataloge -tt įrašyti visas reikšmes į failus laikinajame kataloge -T kelias rašyti failus į katalogą, nurodytą pagal kelią (numatytasis: /tmp) -u įtraukti vartotojui patogius įrašų pavadinimus į išvestį -z apriboti dydžio apribojimą (įrašuose, arba "nėra" arba "maks") paieškai Dažniausios parinktys: -d lygis nustatyti LDAP derinimo lygį į "lygį" -D binddn surišti DN -e [!] <ext>[=<extparam>] bendrieji plėtiniai (! rodo kritiškumą) [!] assert=<filter> (RFC 4528; RFC 4515 filtro eilutė) [!] authzid=<authzid> (RFC 4370; "dn:<dn>" arba "u:<user>") [!] grandinės[=<resolveBehavior>[/<continuationBehavior>]] vienas iš "chainingPreferred", "chainingRequired", "referralsPreferred", "referralsRequired" [!] manageDSAit (RFC 3296) [!] noop Politika [!] postread[=<attrs>] (RFC 4527; kableliais atskirtų ATTR sąrašas) [!] preread[=<attrs>] (RFC 4527; kableliais atskirtų ATTR sąrašas) [!] Atsipalaiduokite [!] Seansų stebėjimas atsisakyti, atšaukti, ignoruoti (SIGINT siunčia atsisakyti/atšaukti, arba ignoruoja atsakymą; jei kritinis, nelaukia SIGINT. tikrai nekontroliuoja) -h pagrindinis LDAP serveris -H URI LDAP vienodas (-i) išteklių identifikatorius (-ai) -Aš naudoju SASL interaktyvų režimą -n parodyti, kas būtų padaryta, bet iš tikrųjų to nedaryti -N nenaudokite atvirkštinio DNS SASL pagrindinio kompiuterio vardui kanonizuoti -O atramos SASL saugumo savybės -o <opt>[=<optparam>] Bendrosios parinktys nettimeout=<timeout> (sekundėmis arba "nėra" arba "maks") ldif-wrap=<width> (stulpeliuose arba "ne" be vyniojimo) -p prievadas LDAP serveryje -Q naudokite SASL tylųjį režimą -R sfera SASL sfera -U autentifikavimo SASL autentifikavimo tapatybė -v paleisti išsamaus režimo (diagnostika į standartinę išvestį) -V spausdintos versijos informacija (tik VV) -w passwd bind slaptažodis (paprastam autentifikavimui) -W raginimas susieti slaptažodį -x Paprastas autentifikavimas -X autentifikavimo SASL autorizacijos tapatybė ("dn:<dn>" arba "u:<user>") -y failas Skaityti slaptažodį iš failo -Y robotas SASL mechanizmas -Z Pradėti TLS užklausą (-ZZ reikalauti sėkmingo atsakymo) Komanda yra tokia:
Užklausos rezultatai yra tokie:
Užklausti visus vartotojus:
LDAP daiktavardžio paaiškinimas
Objektų klasė
LDAP objektų klasė yra LDAP integruotas duomenų modelis. Kiekvienas objectClass turi savo duomenų struktūrą, pavyzdžiui, turime objectClass, pavadintą "Telefonų knyga", kuri tikrai turės daug integruotų atributų, tokių kaip pavadinimas (uid), ID numeris (uidNumber), įrenginio pavadinimas (gid), namų adresas (homeDirectory) ir kt., Tuo pačiu metu taip pat yra objectClass, vadinamas "Classmate Record", kuriame yra "telefonų knyga" Kai kurie atributai (pvz., uid, homeDirectory) taip pat turės atributų, kurių nėra "telefonų knygoje" (pvz., aprašas ir kt.).
Įrašas
Įrašas gali būti vadinamas įrašu, įrašas yra įrašas, pagrindinis LDAP saugojimo vienetas; Tai taip pat gali būti laikoma DN rinkiniu ir atributų rinkiniu. Atkreipkite dėmesį, kad įraše gali būti keli objectClasses, pavyzdžiui, zhang3 gali egzistuoti "Telefonų knygoje" arba "Klasės draugo įraše" tuo pačiu metu.
DN
Išskirtinis vardas, unikalus išskirtinis LDAP įrašo pavadinimas, pilna DN rašyba: uid=zhang3, ou=People, dc=163, dc=com. Tik LDAP įrašas yra unikalus LDAP serveryje.
LDAP paieškos filtras
Naudokite filtrą LDAP paieškai. Filtras paprastai susideda iš vieneto, pvz., (attribute=value), pvz.: (&(uid=ZHANGSAN)(objectclass=person)) nurodo, kad ieškomo vartotojo LDAP įrašas yra ZHANGSAN. Kitas pavyzdys: (&(|( uid= ZHANGSAN)(uid=LISI))(objectclass=person)), nurodant, kad vartotojo su paieškos ID paieška yra ZHANGSAN arba LISI; Taip pat galite naudoti * norėdami pavaizduoti bet kokią reikšmę, pvz., (uid=ZHANG*SAN), ir ieškoti įrašų, kurių uid reikšmės prasideda ZHANG ir baigiasi SAN. Be to, pagal skirtingas LDAP atributų atitikimo taisykles gali būti toks filtras: (&(createtimestamp>=20050301000000)(createtimestamp<=20050302000000)), kuris nurodo, kad paieškos kūrimo laikas yra nuo 20050301000000 iki 20050302000000.
Filtre "&" reiškia "ir"; “!” reiškia "ne"; “|” reiškia "arba". Priklausomai nuo atitikimo taisyklių, galime naudoti "=", "~=", ">=" ir "<=".
Bazė DN
Bazinis DN gali būti "dc=163,dc=com" arba "dc=People,dc=163,dc=com". Kadangi LDAP yra medžio duomenų struktūra, paieška prasidės nuo BaseDN nurodžius basedn, ir mes galime nurodyti paieškos aprėptį kaip: tik paieška pagrįsta (bazė), pagrįsta tiesioginiu antriniu lygiu (vienas lygis) ir pagrįsta visais pomedžio lygiais.
objekto klasė
LDAP įraše turi būti atributas objectClass ir jam turi būti priskirta bent viena reikšmė. Kiekviena reikšmė bus naudojama kaip LDAP įrašo duomenų saugojimo šablonas; Šablone yra atributas, kuris turi būti priskirtas įrašui, ir pasirinktinis atributas. objectClass turi griežtą hierarchiją, kurios viršuje ir slapyvardis yra viršuje. Pavyzdžiui, organizationalPerson objectClass yra pavaldus asmeniui, o asmuo yra pavaldus viršuje.
objectClass galima suskirstyti į šias 3 kategorijas: Struktūrinis: pvz., asmuo ir organizacijaVienetas; Pagalbinis: pvz., extensibeObject; Anotacija: Pavyzdžiui, abstraktus objectClass negali būti naudojamas tiesiogiai. OpenLDAP schemoje yra apibrėžta daug objectClasses, o kai kurių dažniausiai naudojamų objectClasses pavadinimai yra išvardyti žemiau.
- sąskaita
- slapyvardis
- dcobject
- Domenas
- ipHost
- Organizacija
- organizacinis vaidmuo
- organizacinis vienetas
- asmuo
- organizacinis asmuo
- inetOrgPerson
- gyvenamasis asmuo
- posixSąskaita
- posixGroup
"ObjectClass" yra atributų rinkinys, o LDAP sujungia daugelį įprastų objektų žmonių organizacijose ir suskirsto juos į objektų klases. Pavyzdžiui, personalas apima pavardę (sn), vardą (cn), telefono numerį (telephoneNumber), slaptažodį (userPassword) ir kitus atributus, o organizationalPerson yra asmens paveldėjimo klasė, be aukščiau nurodytų atributų, ji taip pat apima pareigas, pašto kodą (postalCode) ir pašto adresą (postalAddress) ir kiti atributai.
Elementų tipus galima lengvai apibrėžti naudojant objektų klases. Kiekvienas įrašas gali tiesiogiai paveldėti kelias objektų klases, kurios paveldi įvairias savybes. Jei yra 2 objektų klasės su tuo pačiu atributu, paveldėjus įrašą bus išsaugotas tik 1 atributas. Objektų klasė taip pat nurodo, kurios savybės yra pagrindinė informacija ir kurios turi būti (Must Required): kurios savybės yra išplėstinė informacija ir gali būti (May arba Optional).
Yra trijų tipų objektų klasės: struktūrinės, abstrakčios ir pagalbinės. Struktūriniai tipai yra patys paprasčiausi tipai, nurodantys pagrindines objekto kūno savybes, ir kiekvienas įrašas priklauso tik vienai struktūrinių objektų klasei. Abstraktūs tipai gali būti struktūriniai tipai arba kiti abstrakčių tipų tėvai, kurie organizuoja bendras objektų savybių dalis, vadinamus kitų klasių šablonais, o įrašai negali tiesiogiai integruoti abstrakčių objektų klasių. Pagalbinis tipas nurodo išplėstines objekto ypatybes. Nors kiekviena juosta priklauso tik vienai struktūrinių objektų klasei, ji gali priklausyti kelioms pagalbinių objektų klasėms vienu metu.
Pati objektų klasė gali paveldėti viena kitą, todėl objektų klasės šakninė klasė yra aukščiausia abstrakčių objektų klasė. Atsižvelgiant į dažniausiai naudojamus žmonių tipus kaip pavyzdį, jų paveldėjimo santykiai yra tokie, kaip parodyta paveikslėlyje:
Integruoti accout atributai yra: userid, description, host, localityName, organizationName, organizationalUnitName, žr.
Integruoti inetOrgPerson atributai yra 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 ir kt.;
Kaip matote, "accout" iš anksto nustato tik kelis būtinus ir naudingus atributus (to tikrai pakanka prisijungimo patvirtinimui užbaigti), o "inetOrgPerson" turi daug integruotų atributų, tokių kaip telefono numeris, mobiliojo telefono numeris, gatvės adresas, el. pašto numeris, el. pašto adresas, kambario numeris, avataras, vadovas, darbuotojo numeris ir kt.
Todėl konfigūruojant LDAP rekomenduojama nustatyti objectClass tipą į accout, jei tai tik prisijungimo patikrinimo tikslais, ir nustatyti objectClass į inetOrgPerson, jei norite sukurti didelį ir išsamų darbuotojų informacijos lobyną
Čia dažniausiai naudoju 'inetOrgPerson', 'posixAccount', 'shadowAccount'.
Būtini paskyros atributai yra userid, o būtini posixAccount atributai yra cn, gidNumber, homeDirectory, uid, uidNumber; Būtinas shadowAccount atributas yra uid, o pasirenkami atributai yra shadowExpire, shadowInactive, shadowMax, shadowMin, userPassword ir kt. Aukščiausia reikalinga ypatybė yra objectClass (matyti, kad top ir kitos objectClasses yra paveldėti ryšiai).
Atributas
Atributai yra panašūs į programavimo kintamuosius ir gali būti priskirti. Daugelis dažniausiai naudojamų atributų yra deklaruojami OpenLDAP (vartotojai taip pat gali apibrėžti savo atributus). Bendrosios atributų reikšmės yra šios:
- c: Šalis.
- cn:bendras pavadinimas, nurodantis objekto pavadinimą. Jei jis susijęs su asmeniu, reikia naudoti jo vardą ir pavardę.
- dc:domeno komponentas, dažnai naudojamas domeno vardo daliai nurodyti.
- givenName: nurodo asmens vardą, o ne pavardę.
- l: nurodo vietovardį, pvz., miesto ar kitos geografinės vietovės pavadinimą.
- paštas: el. pašto adresas.
- o:organizationName, nurodantis organizacijos pavadinimą.
- ou:organizationalUnitName, kuris nurodo organizacinio vieneto pavadinimą.
- sn: pavardė, reiškia asmens pavardę.
- phoneNumber: telefono numeris, kuriame turėtų būti šalies, kurioje jis yra, kodas.
Patarimas: objectClass yra specialus atributas, kuriame yra ir kitų naudojamų atributų.
Skirtingoms objectClasses paprastai yra kai kurios būtinos ypatybių reikšmės ir kai kurios pasirinktinės ypatybių reikšmės. Pavyzdžiui, galite naudoti objectClass of person, kad pavaizduotumėte vartotojo įrašą sistemoje, o vartotojas sistemoje paprastai turi turėti tam tikrą informaciją, pvz., vardą, telefono numerį, slaptažodį, aprašymą ir kt. Kaip parodyta paveikslėlyje žemiau, asmeniui nustatykite vartotojo vardą ir pavardę naudodami cn ir sn, kurie yra privalomi, o kiti atributai yra neprivalomi.
Toliau pateikiamas kai kurių dažniausiai naudojamų objectClass reikalavimų, kurie yra būtini, sąrašas.
- paskyra:Vartotojo ID。
- Organizacija:O。
- Asmuo: CN ir SN.
- organizationalPerson: tas pats kaip asmuo.
- organizacinis vaidmuo:cn。
- organizationUnit:ou。
- posixGroup:cn、gidNumber。
- posixAccount:cn、gidNumber、homeDirectory、uid、uidNumber。
(Pabaiga)
|