Povzetek ukazov OpenLDAP
- ldapsearch: Poiščite vnose v drevesu imenikov OpenLDAP.
- ldapadd: Dodaja vnose v drevesa imenikov prek LDIF formata.
- ldapdelete: Izbriše vnose v drevo imenikov OpenLDAP.
- ldapmodify: Spremenite vnos v drevesu imenikov OpenLDAP.
- ldapwhoami: Potrjuje identiteto uporabnikov OpenLDAP.
- ldapmodrdn: Ocenjuje vnos DN v drevesu imenikov OpenLDAP.
- ldapcompare: Določa, ali vrednost DN in določena vrednost parametra pripadata istemu vnosu.
- ldappasswd: Spremenite uporabniški vnos v drevesu imenikov OpenLDAP za ponastavitev gesla.
- slaptest: Preverite datoteko slapd.conf ali cn=konfiguracijska mapa.
- slapindex: Ustvari indeks drevesa imenikov OpenLDAP za zagotavljanje učinkovitosti poizvedb.
- slapcat: Pretvarja podatke v LDIF datoteke za OpenLDAP.
Ukaz ldapadd
Možnosti | opis | -x | Izvedite preprosto avtentikacijo | -D | DN, uporabljen za vezanje strežnika | -h | Naslov imenikove storitve | -w | Poveži geslo DN | -f | Datoteke, ki uporabljajo LDIF datoteke za dodajanje vnosov |
Najprej pripravimo datoteko test.ldif z naslednjim ukazom:
Vsebina je naslednja:
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
Dodajte ukaze tako:
Po vnosu gesla se uspešno doda, kot je prikazano na spodnji sliki:
ukaz ldapmodify
Ukaz ldapmodify je popravljen in večinoma izvaja različne funkcije spreminjanja prek konfiguracijskih datotek.
Datoteka demo.ldif je naslednja, kar pomeni, da je parameter uidNumber uporabniškega uid=xzz spremenjen.
Ukaz LDAPPASSWD
ldappasswd odpre povezavo z LDAP strežnikom in spremeni vstopno geslo.
Možnosti | opis | -x | Izvedite preprosto avtentikacijo | -D | DN, uporabljen za vezanje strežnika | -w | Poveži geslo DN | -S | Vnesi geslo, ko ga vprašaš | -s | Pass za nastavitev gesla za pass | -a | Pass nastavljeno staro passwd na pass | -A | Sproži nastavitev starega prehoda | -H | se nanaša na strežnik, ki ga je treba vezati | -Jaz | Uporabite metodo SASL seje |
ukaz ldapsearch
LDAP iskalni ukaz
[root@VM_0_9_centos ~]# ldapsearch -h
ldapsearch: option requires an argument -- 'h'
ldapsearch: unrecognized option -h
usage: ldapsearch [options] [filter [attributes...]]
where: filter LDAP iskalni filter skladen z RFC 4515 Seznam opisov atributov z belim presledkom ki lahko vključujejo: 1.1 Brez atributov * vsi uporabniški atributi + vse operativne lastnosti Možnosti iskanja: -a deref ena od nikoli (privzeto), vedno, išče ali najdi -A pridobi samo imena atributov (brez vrednosti) -b basedn baza dn za iskanje -c način neprekinjenega delovanja (ne ustavljajte se pri napakah) -E [!] <ext>[=<extparam>] iskalne razširitve (! označuje kritičnost) [!] domainScope (domenski obseg) !dontUseCopy (Ne uporabljaj kopiranja) [!] mv=<filter> (RFC 3876 filter ujemajočih vrednosti) [!] pr=<size>[/prompt|noprompt] (RFC 2696 stranski rezultati/poziv) [!] sss=[-]<attr[:OID]>[/[-]<attr[:OID]>...] (RFC 2891 razvrščanje na strežniški strani) [!] podvnosi[=true|false] (RFC 3672 podvnosi) [!] sync=ro[/<cookie>] (RFC 4533 LDAP Sync refreshOnly) rp[/<cookie>][/<slimit>] (refreshAndPersist) [!] vlv=<before>/<after>(/<offset>/<count>|:<value>) (ldapv3-vlv-09 Virtualni ogledi seznama) [!] deref=derefAttr:attr[,...] [; derefAttr:attr[,...] [; ...]] [!] <oid>[=:<b64value>] (splošna kontrola; brez obravnave odziva) -f operacije branja datoteke iz 'datoteke' -F predpona URL za datoteke (privzeto: file:///tmp/) -Omejitev časovne omejitve (v sekundah, ali "none" ali "max") za iskanje -L natisni odgovore v formatu LDIFv1 -LL tiska odgovore v LDIF formatu brez komentarjev -LLL tiskane odgovore v LDIF formatu brez komentarjev in različica -M omogoči upravljanje DSA IT nadzora (-MM za kritično) -P različica protokola (privzeto: 3) -s obseg ena osnovnega, ena, podali ali otrok (iskalni obseg) -S attr razvrsti rezultate po atributu 'attr' -t zapisuje binarne vrednosti v datoteke v začasni mapi -tt zapiše vse vrednosti v datoteke v začasnem imeniku -T pot zapisuje datoteke v imenik, določen po poti (privzeto: /tmp) -u vključuje uporabniško prijazna imena vnosov v izhod -z omejitev velikosti (v vnosih ali "none" ali "max") za iskanje Pogoste možnosti: -d nivo nastavi LDAP nivo razhroščevanja na 'level' -D binddn vezava DN -e [!] <ext>[=<extparam>] splošne razširitve (! označuje kritičnost) [!] assert=<filter> (RFC 4528; RFC 4515 filter niz) [!] authzid=<authzid> (RFC 4370; "dn:<dn>" ali "u:<user>") [!] verižnost[=<resolveBehavior>[/<continuationBehavior>]] eno od "chainingPreferred", "chainingRequired", "priporočilaPriporočena", "Priporočena priporočila" [!] manageDSAit (RFC 3296) [!] Ne Ppolicy [!] postread[=<attrs>] (RFC 4527; seznam attrov, ločenih z vejico) [!] preread[=<attrs>] (RFC 4527; seznam attrov, ločenih z vejico) [!] Sprosti se. [!] Sledenje seji opusti, prekliči, ignoriraj (SIGINT pošlje zapusti/prekliči, ali ignorira odziv; če je kritično, ne čaka na SIGINT. Ne ravno kontrole) -h gostiteljski LDAP strežnik -H URI LDAP enotni identifikator virov -Uporabljam SASL interaktivni način -Pokazati, kaj bi bilo narejeno, ampak tega dejansko ne naredi -N ne uporabljajte obratnega DNS za kanonizacijo imena gostitelja SASL -O props SASL varnostne lastnosti -o <opt>[=<optparam>] splošne možnosti nettimeout =<timeout> (v sekundah, ali "none" ali "max") ldif-wrap=<width> (v stolpcih, ali "no" za brez ovijanja) -p port port na LDAP strežniku -Q uporabi SASL tiho način -R realm SASL realm -U authcid SASL avtentikacijska identiteta -v teče v besednem načinu (diagnostika do standardnega izhoda) -Informacije o tiskani različici V (-samo VV) -w passwd vezavo gesla (za preprosto avtentikacijo) -W poziv za vezanje gesla -x Preprosta avtentikacija -X avtentifikacijska identiteta SASL ("dn:<dn>" ali "u:<user>") -y datoteka Preberi geslo iz datoteke -Y mehanični mehanizem SASL -Z Start TLS zahtevek (-ZZ za zahtevo po uspešnem odgovoru) Ukaz je naslednji:
Rezultati poizvedb so naslednji:
Poizvedite vse uporabnike:
Razlaga samostalnika v LDAP
Objektni razred
LDAP objektni razred je podatkovni model, vgrajen v LDAP. Vsak objectClass ima svojo podatkovno strukturo, na primer objectClass z imenom "Phone Book", ki bo zagotovo imel veliko vgrajenih atributov, kot so ime (uid), ID številka (uidNumber), ime enote (gid), domači naslov (homeDirectory) itd., hkrati pa obstaja tudi objectClass, imenovan "Classmate Record", ki ima "telefonski imenik" Nekateri atributi (kot so uid, homeDirectory) imajo prav tako atribute, ki niso v "telefonskem imeniku" (kot je opis itd.).
Vpis
Vnos lahko imenujemo vnos, vnos je zapis, osnovna enota za shranjevanje v LDAP; Lahko ga razumemo tudi kot zbirko DN-jev in nabor atributov. Upoštevajte, da lahko vnos vsebuje več razredov objektov, na primer zhang3 lahko hkrati obstaja v "Telefonskem imeniku" ali v "Zapisu sošolcev".
DN
Distinguished Name, edinstveno prepoznavno ime vnosa v LDAP, popolna DN črkovanje: uid=zhang3, ou=People, dc=163, dc=com. Le vnos v LDAP je edinstven za LDAP strežnik.
LDAP iskalni filter
Uporabite filter za iskanje LDAP. Filter je običajno sestavljen iz enote, kot je (attribute=value), na primer: (&(uid=ZHANGSAN)(objectclass=person)) označuje, da je LDAP vnos iskalnega uporabnika ZHANGSAN. Drug primer je: (&(|( uid= ZHANGSAN)(uid=LISI))(objectclass=person)), kar pomeni, da je iskanje uporabnika z iskalnim ID-jem ZHANGSAN ali LISI; Uporabite lahko tudi * za predstavitev katere koli vrednosti, na primer (uid=ZHANG*SAN), in iščete vnose z vrednostmi uid, ki se začnejo z ZHANG in končajo s SAN. Poleg tega je po različnih pravilih za ujemanje atributov LDAP lahko naslednji filter: (&(createtimestamp>=20050301000000)(createtimestamp<=20050302000000)), ki označuje, da je čas ustvarjanja iskanja med 20050301000000 in 20050302000000.
V Filter "&" pomeni "in"; “!” pomeni "ne"; “|” pomeni "ali". Glede na pravila ujemanja lahko uporabimo "=", "~=", ">=" in "<=".
Osnovni DN
Osnovni DN je lahko "dc=163,dc=com" ali "dc=People,dc=163,dc=com". Ker je LDAP drevesna podatkovna struktura, se iskanje začne z BaseDN po določitvi basedn, in lahko določimo obseg iskanja kot: samo iskanje na osnovi (osnovno), bazno na neposredni podravni (ena raven) in bazdn na vseh poddrevesnih ravneh.
objektRazred
V LDAP mora vnos vsebovati atribut objectClass in mu biti dodeljena vsaj ena vrednost. Vsaka vrednost se uporablja kot predloga za shranjevanje podatkov z LDAP vnosom; Predloga vsebuje atribut, ki ga je treba vnosu dodeliti, in opcijski atribut. objectClass ima strogo hierarhijo, pri čemer sta top in alias na vrhu. Na primer, razred objectClass funkcije organizationalPerson je podrejen osebi, oseba pa je podrejena najvišji.
objectClass lahko razdelimo v naslednje 3 kategorije: Strukturno: kot so oseba in organizacijaEnota; Pomožno: na primer extensibeObject; Povzetek: Na primer, abstraktnega objektClass ni mogoče uporabiti neposredno. V shemi OpenLDAP je definiranih veliko razredov objektov, imena nekaterih pogosto uporabljenih razredov objektov pa so navedena spodaj.
- Račun
- Vzdevek
- dcobject
- domena
- ipHost
- Organizacija
- organizacijska Vloga
- organizacijska enota
- oseba
- organizacijska oseba
- inetOrgPerson
- Stanovanjska oseba
- posixAccount
- posixGroup
ObjectClass je zbirka atributov, LDAP pa zapakira številne pogoste objekte v človeških organizacijah in jih enkapsulira v razrede objektov. Na primer, osebje vključuje priimek (sn), ime (cn), telefonsko številko (telefonsko številko), geslo (userPassword) in druge atribute, organizacijska oseba pa je razred dedovanja osebe; poleg zgornjih atributov vključuje tudi naziv, poštno številko (postalCode) in poštni naslov (postalAddress) in druge lastnosti.
Tipe elementov je mogoče enostavno definirati preko razredov objektov. Vsak vnos lahko neposredno podeduje več razredov objektov, ki podedujejo različne lastnosti. Če obstajata 2 objektna razreda z enakim atributom, bo po dedovanju vnosa ohranjen le en atribut. Razred objektov določa tudi, katere lastnosti so osnovne informacije in morajo vsebovati (Must Required): katere lastnosti so razširjene informacije in lahko vsebujejo (May ali Optional).
Obstajajo tri vrste razredov objektov: strukturni, abstraktni in pomožni. Strukturni tipi so najosnovnejši tipi, ki določajo osnovne lastnosti telesa objekta, vsak vnos pa pripada in pripada le enemu strukturnemu razredu objektov. Abstraktni tipi so lahko strukturni tipi ali drugi starši abstraktnih tipov, ki organizirajo skupne dele lastnosti objektov skupaj, imenovane predloge za druge razrede, in vnosi ne morejo neposredno integrirati abstraktnih razredov objektov. Pomožni tip določa razširjene lastnosti objektne entitete. Čeprav vsaka vrstica pripada le enemu strukturnemu razredu objektov, lahko hkrati pripada več razredom pomožnih objektov.
Sam razred objektov se lahko med seboj deduje, zato je osnovni razred razreda objektov najvišji abstraktni razred objektov. Če vzamemo pogosto uporabljene vrste ljudi kot primer, je njihov dedni odnos prikazan, kot je prikazano na sliki:
Vgrajeni atributi accouta so: userid, description, host, localityName, organizationName, organizationalUnitName, glej tudi;
Vgrajeni atributi inetOrgPerson so 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、Department Number、is playName、employeeNumber、employeeType、employeeType、givenName、HomePhone、HomePostalAddress、HomePostAddress、začetnice、 jpegPhoto, označen URI, mail, manager, mobile, o, pager, photo, preferredLanguage, roomNumber, secretary, uid, userCertificate itd.;
Kot vidite, accout prednastavi le nekaj nujnih in uporabnih atributov (to je zagotovo dovolj za dokončanje preverjanja prijave), medtem ko ima inetOrgPerson veliko vgrajenih atributov, kot so telefonska številka, mobilna številka, naslov, e-poštna številka, e-poštni naslov, številka sobe, avatar, vodja, številka zaposlenega itd.
Zato je pri konfiguraciji LDAP priporočljivo nastaviti tip objectClass na accout, če je to le za preverjanje prijave, in objectClass nastaviti na inetOrgPerson, če želite ustvariti veliko in celovito zakladnico informacij o zaposlenih
Tukaj običajno uporabljam 'inetOrgPerson', 'posixAccount', 'shadowAccount'.
Zahtevani atributi računa so userid, medtem ko so zahtevani atributi posixAccount cn, gidNumber, homeDirectory, uid, uidNumber; Zahtevani atribut shadowAccount je uid, neobvezni atributi pa vključujejo shadowExpire, shadowInactive, shadowMax, shadowMin, userPassword itd. Najvišja zahtevana lastnost je objectClass (vidimo lahko, da so top in drugi objectClassi podedovani odnosi).
Atribut
Atributi so podobni spremenljivkam v programiranju in jih je mogoče dodeliti. Veliko pogosto uporabljenih atributov je deklariranih v OpenLDAP (uporabniki lahko tudi sami določijo svoje atribute). Pogosti pomeni atributov so naslednji:
- c: Country.
- CN: Običajno ime, ki se nanaša na ime predmeta. Če se nanaša na osebo, je treba uporabiti njeno polno ime.
- dc:domain komponenta, ki se pogosto uporablja za označevanje dela domenskega imena.
- givenName: se nanaša na ime osebe, ne na priimek.
- l: Nanaša se na ime kraja, na primer ime mesta ali drugega geografskega območja.
- pošta: E-poštni naslov.
- o:organizationName, ki se nanaša na ime organizacije.
- ou:organizationalUnitName, ki se nanaša na ime organizacijske enote.
- sn: priimek, se nanaša na priimek osebe.
- Telefonska številka: Telefonska številka, ki naj vsebuje kodo države, v kateri se nahaja.
Namig: objectClass je poseben atribut, ki vsebuje tudi druge uporabljene atribute poleg sebe.
Za različne razrede objektov običajno obstajajo zahtevane vrednosti lastnosti in nekatere neobvezne vrednosti lastnosti. Na primer, lahko uporabite razred objectClass osebe, ki predstavlja vnos uporabnika v sistemu, uporabnik v sistemu pa običajno potrebuje določene podatke, kot so ime, telefonska številka, geslo, opis itd. Kot je prikazano na spodnji sliki, za osebo nastavite uporabniško ime in priimek preko cn in sn, kar je obvezno, medtem ko so drugi atributi opcijski.
Spodaj je seznam nekaterih pogosto uporabljenih zahtev za objektClass, ki so zahtevane.
- account:userid。
- organizacija:o。
- Oseba: CN in SN.
- organizacijskaOseba: Enako kot oseba.
- organizationalRole:cn。
- organizationUnit:ou。
- posixGroup:cn、gidNumber。
- posixAccount:cn、gidNumber、homeDirectory、uid、uidNumber。
(Konec)
|