OpenLDAP käskude kokkuvõte
- ldapsearch: Otsi OpenLDAP kataloogipuu kirjeid.
- ldapadd: Lisab kataloogipuu kirjeid LDIF formaadis.
- ldapdelete: kustutab OpenLDAP kataloogipuu kirjed.
- ldapmodify: Muuda OpenLDAP kataloogipuu kirjet.
- ldapwhoami: Kinnitab OpenLDAP kasutajate identiteeti.
- ldapmodrdn: Hindab OpenLDAP kataloogipuu DN kirjet.
- ldapcompare: Määrab, kas DN väärtus ja määratud parameetri väärtus kuuluvad samasse kirjesse.
- ldappasswd: Muuda OpenLDAP kataloogipuu kasutajakirjet, et parooli lähtestada.
- slaptest: Kontrolli slapd.conf faili või cn=configuration kataloogi.
- slapindex: Loob OpenLDAP kataloogipuu indeksi, et pakkuda päringute efektiivsust.
- slapcat: Teisendab andmed LDIF-failideks OpenLDAP jaoks.
ldapadd käsk
Valikud | kirjeldus | -x | Tee lihtne autentimine | -D | DN, mida kasutatakse serveri sidumiseks | -h | Kataloogiteenuse aadress | -w | Sidu DN parool | -f | Failid, mis kasutavad LDIF-faile kirjete lisamiseks |
Esmalt valmistame test.ldif faili järgmise käsuga ette:
Sisu on järgmine:
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
Lisa käsud järgmiselt:
Pärast parooli sisestamist lisatakse see edukalt, nagu alloleval joonisel näidatud:
ldapmodify käsk
Käsk ldapmodify on fikseeritud ja rakendab peamiselt erinevaid modifikatsioonifunktsioone konfiguratsioonifailide kaudu.
demo.ldif fail on järgmine, mis tähendab, et kasutaja uidNumber parameeter uid=xzz on muudetud.
LDAPPASSWD juhtkond
ldappasswd avab ühenduse LDAP serveriga ja muudab sisestusparooli.
Valikud | kirjeldus | -x | Tee lihtne autentimine | -D | DN, mida kasutatakse serveri sidumiseks | -w | Sidu DN parool | -S | Sisesta parool, kui küsitakse | -s | Pass parooli määramiseks | -a | Pass Set Old PassWD To Pass to Pass | -A | Prompt vana passwd seadistust | -H | viitab serverile, mis on seotud | -Mina | Kasuta SASL sessiooni meetodit |
ldapsearch käsk
LDAP otsingukäsk
[root@VM_0_9_centos ~]# ldapsearch -h
ldapsearch: option requires an argument -- 'h'
ldapsearch: unrecognized option -h
usage: ldapsearch [options] [filter [attributes...]]
where: filter RFC 4515 nõuetele vastav LDAP otsingufilter atribuudid tühikuga eraldatud atribuudi kirjelduste nimekiri mis võib hõlmata: 1.1 Atribuute puudumine * kõik kasutaja atribuudid + kõik operatiivsed omadused Otsinguvõimalused: -deref üks mitte kunagi (vaikimisi), alati, otsi või leia -A otsib ainult atribuudi nimesid (väärtusi pole) -b-põhine baas-DN otsinguks -c pidev töörežiim (ära peatu vigade korral) -E [!] <ext>[=<extparam>] otsingulaiendused (! tähistab kriitilisust) [!] domainScope (domeeni ulatus) !dontUseCopy (Don't Use Copy) [!] mv=<filter> (RFC 3876 sobitatud väärtuste filter) [!] pr=<size>[/prompt|noprompt] (RFC 2696 leheküljega tulemused/prompt) [!] sss=[-]<attr[:OID]>[/[-]<attr[:OID]>...] (RFC 2891 serveripoolne sorteerimine) [!] alamkirjed[=true|false] (RFC 3672 alamkirjed) [!] sync=ro[/<cookie>] (RFC 4533 LDAP Sync refreshOnly) rp[/<cookie>][/<slimit>] (värskendaJa Jätka) [!] vlv=<before>/<after>(/<offset><count>/|:<value>) (LDAPV3-VLV-09 virtuaalse nimekirja vaade) [!] deref=derefAttr:attr[,...] [; derefAttr:attr[,...] [; ...]] [!] <oid>[=:<b64value>] (üldine kontroll; vastust ei käsitleta) -f faili lugemistoimingud 'failist' -F eesliide URL-i prefiks failidele (vaikimisi: file:///tmp/) -l piirab otsingu ajapiirangut (sekundites või "null" või "max") -L prindi vastused LDIFv1 formaadis -LL prindi vastused LDIF formaadis ilma kommentaarideta -LLL prindi vastused LDIF formaadis ilma kommentaarideta ja versioon -M lülita sisse Manage DSA IT control (-MM, et muuta kriitiline) -P versiooni protokolli versioon (vaikimisi: 3) -s scope üks baas, üks, alam või lapsed (otsinguulatus) -S attr sorteerib tulemused atribuudi 'attr' järgi -t kirjutada binaarväärtusi ajutistesse kaustadesse -tt Write kõik väärtused ajutisesse kaustasse -T tee kirjutamisfailid kataloogi, mis on määratud tee järgi (vaikimisi: /tmp) -u lisa väljundisse kasutajasõbralikud kirjenimed -z piiratud suuruse piirang (kirjetes või "null" või "max") otsingus Levinumad valikud: -d tase sea LDAP silumise tase 'tasemele' -D sidub DN -e [!] <ext>[=<extparam>] Üldised laiendused (! näitab kriitilisust) [!] assert=<filter> (RFC 4528; RFC 4515 filtristring) [!] authzid=<authzid> (RFC 4370; "dn:<dn>" või "u:<user>") [!] aheldamine[=<resolveBehavior>[/<continuationBehavior>]] üks "chainingPreferred", "chainingRequired", "soovitusedEelistatud", "soovitusedKohustuslikud" [!] manageDSAit (RFC 3296) [!] noop ppolicy [!] postread[=<attrs>] (RFC 4527; komadega eraldatud ATTR nimekiri) [!] eellugemine[=<attrs>] (RFC 4527; komadega eraldatud ATTR nimekiri) [!] lõõgastu [!] sessioonijälgimine loobu, tühista, ignoreeri (SIGINT saadab loobumise/tühistamise, või ignoreerib vastust; kui kriitiline, ei oota SIGINT-i. mitte päris kontrollid) -h host LDAP server -H URI LDAP Ühtne ressursi identifikaatori(d) -Kasutan SASL interaktiivset režiimi -Näita, mida tehakse, aga tegelikult ära tee seda -N ei kasuta pöörd-DNS-i SASL-hostinime kanoniseerimiseks -O props SASL turvaomadused -o <opt>[=<optparam>] üldised valikud nettimeout=<timeout> (sekundites või "null" või "max") ldif-wrap=<width> (veergudes või "no" kui ei pakkimine) -p pordi port LDAP serveris -Q kasuta SASL vaikset režiimi -R valdkond SASL valdkond -U authcid SASL autentimisidentiteet -v käivitamine sõnalises režiimis (diagnostika standardväljundile) -V trükiversiooni info (ainult VV) -w passwd sidumisparool (lihtsaks autentimiseks) -W käsk parooli sidumiseks -x Lihtne autentimine -X authzid SASL autoriseerimise identiteet ("dn:<dn>" või "u:<user>") -y fail Loe parooli failist -Y mehhaaniline SASL mehhanism -Z Käivita TLS päring (-ZZ nõuab edukat vastust) Käsk on järgmine:
Päringu tulemused on järgmised:
Küsi kõigilt kasutajatelt:
LDAP nimisõna selgitus
Objektklass
LDAP objektiklass on LDAP-i sisseehitatud andmemudel. Igal objectClassil on oma andmestruktuur, näiteks on meil objectClass nimega "Phone Book", millel on kindlasti palju sisseehitatud atribuute, nagu nimi (uid), ID number (uidNumber), üksuse nimi (gid), koduaadress (homeDirectory) jne, samal ajal on olemas ka objectClass nimega "Classmate Record", millel on "telefoniraamat" Mõned atribuudid (näiteks uid, homeDirectory) sisaldavad ka atribuude, mida "telefoniraamatus" ei ole (näiteks kirjeldus jne).
Osalemine
Kirjet võib nimetada kirjeks, kirje on kirje, LDAP-is põhiline salvestusüksus; Seda võib käsitleda ka DN-de ja atribuutide kogumina. Pane tähele, et kirje võib sisaldada mitut objectClassi, näiteks zhang3 võib eksisteerida samaaegselt "Telefoniraamatus" või "Klassikaaslaste kirjes".
DN
Distinguished Name, LDAP kirje ainulaadne eriline nimi, täielik DN kirjapilt: uid=zhang3, ou=People, dc=163, dc=com. Ainult LDAP kirje on LDAP serveri poolt unikaalne.
LDAP otsingufilter
Kasuta filtrit, et otsida LDAP-i. Filter koosneb tavaliselt ühikust nagu (atribuut=väärtus), näiteks: (&(uid=ZHANGSAN)(objectclass=person)) näitab, et otsingukasutaja LDAP kirje on ZHANGSAN. Teine näide on: (&(|( uid= ZHANGSAN)(uid=LISI))(objectclass=person)), mis viitab sellele, et kasutaja otsingu ID jaoks on ZHANGSAN ehk LISI; Võid kasutada * ka mis tahes väärtuse esindamiseks, näiteks (uid=ZHANG*SAN), ning otsida kirjeid, mille uid-väärtused algavad ZHANG-iga ja lõpevad SAN-iga. Lisaks võib erinevate LDAP atribuutide sobitamise reeglite kohaselt olla filter nagu : (&(createtimestamp>=20050301000000)(createtimestamp<=20050302000000)), mis näitab, et otsingu loomise aeg jääb 20050301000000 ja 20050302000000 vahele.
Filtris tähendab "&" "ja"; “!” tähendab "mitte"; “|” tähendab "või". Sõltuvalt sobitamisreeglitest võime kasutada "=", "~=", ">=" ja "<=".
Baasi-DN
Baasi-DN võib olla "dc=163,dc=com" või "dc=People,dc=163,dc=com". Kuna LDAP on puu andmestruktuur, algab otsing BaseDN-st pärast baasi määramist ning otsingu ulatuse saab määrata järgmiselt: ainult otsingupõhine (baas), baaspõhine otsene alamtase (üks tase) ja põhinev kõigi alampuude tase.
objectClass
LDAP-is peab kirje sisaldama objectClass atribuuti ja saama vähemalt ühe väärtuse. Iga väärtust kasutatakse LDAP kirje andmesalvestuse mallina; Mall sisaldab atribuuti, mis tuleb kirjele määrata, ja valikulist atribuuti. objectClassil on range hierarhia, kus top ja alias on üleval. Näiteks on objectClass organizationalPerson alluv isikule ja person on alluv topile.
objectClass jaguneb järgmisteks kolmeks kategooriaks: Struktuur: näiteks isik ja organisatsioonÜksus; Abiline: näiteks extensibeObject; Kokkuvõte: Näiteks abstraktset objectClass ei saa otse kasutada. OpenLDAP skeemis on defineeritud palju objectClasse ning allpool on loetletud mõnede levinud objectClasside nimed.
- Konto
- alias
- dcobject
- Domeen
- ipHost
- Organisatsioon
- organisatsiooniRoll
- organisatsiooniüksus
- Isik
- organisatsiooniline isik
- inetOrgPerson
- elamuisik
- posixAccount
- posixGroup
ObjectClass on atribuutide kogum ning LDAP kapseldab paljusid inimorganisatsioonides levinud objekte ja kapseldab need objektiklassideks. Näiteks personali hulka kuuluvad perekonnanimi (sn), eesnimi (cn), telefoninumber (telefoninumber), parool (userPassword) ja muud omadused ning organizationalPerson on isiku pärimisklass, lisaks eeltoodud omadustele sisaldab see ka tiitel, postiindeksit (postalCode) ja postiaadressi (postalAddress) ja muid omadusi.
Esemetüüpe saab hõlpsasti määratleda objektiklasside kaudu. Iga kirje võib otseselt pärida mitu objektiklassi, mis omakorda pärivad erinevaid omadusi. Kui on 2 objektiklassi sama atribuudiga, säilitatakse pärast kirje pärimist ainult üks atribuut. Objektiklass määrab ka, millised omadused on põhiinfo ja peavad sisaldama (Peab Nõutud): millised omadused on laiendatud info ja võivad sisaldada (Võib või Optional).
Objektiklasse on kolm tüüpi: struktuurne, abstraktne ja abiklassi. Struktuuritüübid on kõige põhilisemad tüübid, mis määravad objekti keha põhiomadused ning iga kirje kuulub ja kuulub ainult ühte struktuuriobjektide klassi. Abstraktsed tüübid võivad olla struktuurtüübid või muud abstraktse tüübi vanemad, mis organiseerivad objektiomaduste ühised osad, mida nimetatakse teiste klasside mallideks, ning kirjed ei saa otseselt integreerida abstraktseid objektklasse. Abitüüp määrab objekti laiendatud omadused. Kuigi iga riba kuulub ainult ühte struktuurobjektide klassi, võib see samaaegselt kuuluda mitmesse abiobjektiklassi.
Objektiklass ise võib üksteist pärida, seega on objektiklassi juurklass ülemine abstraktne objektiklass. Võttes näiteks levinud inimtüübid, on nende pärimissuhe joonisel näidatud:
Accouti sisseehitatud atribuudid on: userid, description, host, localityName, organizationName, organizationalUnitName, vt Also;
inetOrgPerson sisseehitatud atribuudid on 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;
Nagu näha, seadistab accout ainult mõned vajalikud ja kasulikud atribuudid (see on kindlasti piisav sisselogimise kinnitamiseks), samas kui inetOrgPersonil on palju sisseehitatud omadusi, nagu telefoninumber, mobiilinumber, tänava aadress, e-posti number, e-posti aadress, toa number, avatar, juht, töötaja number jne.
Seetõttu soovitatakse LDAP-i seadistamisel määrata objectClass tüüp accoutiks, kui see on mõeldud ainult sisselogimise kontrollimiseks, ning objectClass määrata inetOrgPersoniks, kui soovid luua suure ja põhjaliku töötajate info varakambri
Siin kasutan tavaliselt 'inetOrgPerson', 'posixAccount', 'shadowAccount'.
Konto nõutavad atribuudid on userid, samas kui posixAccount jaoks on vajalikud atribuudid cn, gidNumber, homeDirectory, uid, uidNumber; ShadowAccount nõutav atribuut on uid ning valikulised atribuutid on shadowExpire, shadowInactive, shadowMax, shadowMin, userPassword jne. Top nõutav omadus on objectClass (on näha, et top ja teised objectClassid on pärilikud suhted).
Atribuut
Atribuudid on sarnased programmeerimise muutujatele ja neid saab määrata. Paljud levinud atribuudid deklareeritakse OpenLDAP-is (kasutajad saavad ka ise oma atribuude määratleda). Tavalised atribuudi tähendused on järgmised:
- c: Country.
- CN:Common Name, mis viitab objekti nimele. Kui see viitab inimesele, tuleb kasutada selle täisnime.
- DC:domeeni komponent, mida sageli kasutatakse domeeninime osa tähistamiseks.
- givenName: viitab inimese nimele, mitte perekonnanimele.
- l: Viitab kohanimele, näiteks linna või muu geograafilise piirkonna nimele.
- post: E-posti aadress.
- o:organizationName, mis viitab organisatsiooni nimele.
- ou:organizationalUnitName, mis viitab organisatsiooniüksuse nimele.
- SN: perekonnanimi, viitab inimese perekonnanimele.
- telefonNumber: Telefoninumber, mis peaks kandma riigi koodi, kus ta asub.
Nipp: objectClass on eriline atribuut, mis sisaldab lisaks iseendale ka teisi kasutatud atribuute.
Erinevate objectClasside puhul on tavaliselt mõned vajalikud omadusväärtused ja mõned valikulised omadusväärtused. Näiteks saab kasutada objectClass-i person, et esindada kasutaja kirjet süsteemis, ja tavaliselt peab kasutajal olema mingi info nagu nimi, telefoninumber, parool, kirjeldus jne. Nagu alloleval pildil näha, määra kasutaja ees- ja perekonnanimi cn ja sn kaudu, mis on kohustuslik, samas kui muud omadused on valikulised.
Järgnevalt on toodud nimekiri mõnest sagedamini kasutatavatest objectClass nõuetest, mis on nõutavad.
- account:userid。
- Organization:o。
- Isik: CN ja SN.
- organizationalPersonal: Sama mis inimene.
- organizationalRole:cn。
- organizationUnit:ou。
- posixGroup:cn、gidNumber。
- posixAccount:cn、gidNumber、homeDirectory、uid、uidNumber。
(Lõpp)
|