OpenLDAP parancs összefoglaló
- ldapsearch: OpenLDAP könyvtárfa bejegyzéseket keres.
- ldapadd: Könyvtárfa bejegyzéseket ad hozzá LDIF formátumban.
- ldapdelete: Törli az OpenLDAP könyvtárfa bejegyzéseket.
- ldapmodify: Módosítsa az OpenLDAP könyvtárfa bejegyzését.
- ldapwhoami: Érvényesíti az OpenLDAP felhasználók személyazonosságát.
- ldapmodrdn: Az OpenLDAP könyvtárfa DN bejegyzését bírálja.
- ldapcompare: Meghatározza, hogy a DN érték és a megadott paraméterérték ugyanahhoz a bejegyzéshez tartoznak-e.
- ldappasswd: Módosítsuk az OpenLDAP könyvtárfa felhasználói bejegyzését jelszó visszaállítása érdekében.
- slaptest: Ellenőrizd a slapd.conf fájlt vagy a cn=configuration könyvtárat.
- slapindex: OpenLDAP könyvtárfa indexet hoz létre a lekérdezés hatékonysága érdekében.
- slapcat: Adatokat konvertál LDIF fájlokká az OpenLDAP számára.
LDAPADD parancsnokság
Opciók | leírás | -x | Egyszerű hitelesítés végrehajtása | -D | A szerver kötéséhez használt DNS | -h | A könyvtár szolgáltatásának címe | -w | A DNS jelszó kötése | -f | Olyan fájlok, amelyek LDIF fájlokat használnak bejegyzések hozzáadására |
Először egy test.ldif fájlt készítünk elő a következő parancsval:
A tartalom a következő:
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
Parancsokat adj hozzá az alábbiakhoz:
A jelszó beírása után sikeresen hozzáadódik, ahogy az alábbi ábrán látható:
ldapmodify command
Az ldapmodify parancs rögzített, és főként különböző módosítási funkciókat valósít meg konfigurációs fájlokon keresztül.
A demo.ldif fájl a következő, ami azt jelenti, hogy a felhasználó uidNumber paramétere, az uid=xzz módosított.
LDAPPASSWD parancsnokság
Az ldappasswd megnyitja a kapcsolatot az LDAP szerverhez, és megváltoztatja a belépési jelszót.
Opciók | leírás | -x | Egyszerű hitelesítés végrehajtása | -D | A szerver kötéséhez használt DNS | -w | A DNS jelszó kötése | -S | Adja meg a jelszót, ha kérik | -s | Pass, hogy beállítsd a jelszót passznak | -a | Pass Old PassWD passzt kell | -A | Prompt a régi passwd beállítását | -H | a kötött szerverre utal | -Én | Használd a SASL session módszert |
LDAPSEARCH parancs
LDAP keresési parancs
[root@VM_0_9_centos ~]# ldapsearch -h
ldapsearch: option requires an argument -- 'h'
ldapsearch: unrecognized option -h
usage: ldapsearch [options] [filter [attributes...]]
where: szűrő RFC 4515 kompatibilis LDAP keresőszűrő attribútumok fehérteres elválasztott attribútumleírások listája amelyek magukban foglalhatják: 1.1 Nincsenek attribútumok * minden felhasználói attribútumot + minden működési attribútum Keresési lehetőségek: -egy deref a soha (alapértelmezett), mindig, keress vagy keress -Csak attribútumnevek lekérdezése (értékek nélkül) -b alapú bázis DNS kereséshez -c folyamatos működési mód (ne álljon meg hibák esetén) -E [!] <ext>[=<extparam>] keresési bővítmények (! kritikusságot jelöl) [!] domainScope (domain scope) !dontUseCopy (Ne használd a Copy-t) [!] mv=<filter> (RFC 3876 párosított értékek szűrő) [!] pr=<size>[/prompt|noprompt] (RFC 2696 oldalas eredmények/prompt) [!] sss=[-]<attr[:OID]>[/[-]<attr[:OID]>...] (RFC 2891 szerveroldali rendezés) [!] albejegyzések[=true|false] (RFC 3672 albejegyzések) [!] sync=ro[/<cookie>] (RFC 4533 LDAP szinkronizálás csak frissítés) rp[/<cookie>][/<slimit>] (frissítésÉs Maradj) [!] vlv=<before>/<after>(/<offset><count>/|:<value>) (LDAPV3-VLV-09 virtuális listanézetek) [!] deref=derefAttr:attr[,...] [; derefAttr:attr[,...] [; ...]] [!] <oid>[=:<b64value>] (általános vezérlés; nincs válaszkezelés) -f fájl olvasási műveletek a 'fájl'-ból -F előtag URL prefix fájlokhoz (alapértelmezett: file:///tmp/) -l korlátozza az időkorlátot (másodpercekben, vagy "nincs" vagy "maximum") a kereséshez -L nyomtatás válaszok LDIFv1 formátumban -LL válaszokat nyomtat LDIF formátumban kommentek nélkül -LLL válaszok LDIF formátumban kommentek nélkül nyomtatják és verzió -M engedélyezze a DSA IT vezérlés kezelését (-MM, hogy kritikus legyen) -P verziós protokoll verzió (alapértelmezett: 3) -s Scope One of base, one, sub vagy children (Search scope) -S attr rendezze az eredményeket 'attr' attribútum szerint -t írjon bináris értékeket ideiglenes könyvtárban lévő fájlokba -tt írjon minden értéket az ideiglenes könyvtárban lévő fájlokba -T út írás fájlokat az út által megadott könyvtárba (alapértelmezett: /tmp) -u tartalmazza a felhasználóbarát bejegyzésneveket a kimenetbe -z határérték méretkorlát (bejegyzésekben, vagy "nincs" vagy "max") keresésnél Gyakori lehetőségek: -d szint állítsd be az LDAP hibakeresési szintet 'szintre' -D kötözés DN-hez -e [!] <ext>[=<extparam>] általános kiterjesztések (! kritikusságot jelez) [!] assert=<filter> (RFC 4528; egy RFC 4515 szűrő húr) [!] authzid=<authzid> (RFC 4370; "dn:<dn>" vagy "u:<user>") [!] láncolás[=<resolveBehavior>[/<continuationBehavior>]] az egyik a "chainingPreferred", "chainingRequired", "ajánlásokPreferred", "beutalások Szükségesek" [!] manageDSAit (RFC 3296) [!] noop ppolicy [!] utóolvasás[=<attrs>] (RFC 4527; vesszővel elválasztott ATTR lista) [!] előolvasat[=<attrs>] (RFC 4527; vesszővel elválasztott ATTR lista) [!] lazíts [!] Sessiontracking hagyni, törölni, figyelmen kívül hagyni (a SIGINT elküldi az elhagyat/cancel, vagy figyelmen kívül hagyja a választ; ha kritikus, nem várja meg a SIGINT-t. nem igazán irányítások) -h host LDAP szerver -H URI LDAP Egységes Erőforrásazonosító(k) -SASL interaktív módot használok -Megmutatni, mit tennének, de ne csináld meg -N nem használnak fordított DNS-t a SASL hásznév kanonizálásához -O props SASL biztonsági tulajdonságok -o <opt>[=<optparam>] általános opciók nettimeout=<timeout> (másodpercekben, vagy "nincs" vagy "max") ldif-wrap=<width> (oszlopokban, vagy "no" a csomagolás nélkül) -p port port LDAP szerveren -Q használd SASL Csendes módot -R birodalom SASL birodalom -U authcid SASL hitelesítési identitás -V futás szöveges módban (diagnosztika standard kimenetre) -V nyomtatott verzió információ (csak VV) -w passwd bind jelszó (egyszerű hitelesítéshez) -W jelszó bekötéséhez -x Egyszerű hitelesítés -X authzid SASL jogosultsági identitás ("dn:<dn>" vagy "u:<user>") -y fájl Olvassa a jelszót a fájlból -Y mech SASL mechanizmus -Z TLS indítása (-ZZ sikeres válasz igényli) A parancs a következő:
A lekérdezés eredményei a következők:
Kérdezz minden felhasználót:
LDAP főnévi magyarázat
Objektumosztály
Az LDAP objektumosztály az LDAP-ba beépített adatmodell. Minden objectClassnak megvan a maga adatszerkezete, például van egy objectClass, amit "Phone Book"-nak hívnak, és amelynek mindenképpen sok beépített attribútuma lesz, mint például név (uid), azonosítószám (uidNumber), egységnév (gid), otthoni cím (homeDirectory) stb., ugyanakkor van egy objectClass is, amit "Classmate Record" hívnak, amelynek van egy "telefonkönyve" Néhány attribútumnak (például uid, homeDirectory) olyan attribútumai is vannak, amelyek nincsenek a "telefonkönyvben" (például leírás stb.).
Bejegyzés
Egy bejegyzést nevezhetünk bejegyzésnek, a bejegyzés egy rekord, egy alapvető tárolóegység az LDAP-ban; Úgy is gondolhatjuk, mint egy DN-gyűjteményt és egy attribútumhalmazt. Fontos megjegyezni, hogy egy bejegyzés több objektumosztályt is tartalmazhat, például a zhang3 egyszerre létezhet a "Telefonkönyvben" vagy az "Osztálytárs Nyilvántartásban".
DN
Distinguished Name, az LDAP bejegyzésének egyedi megkülönböztetett neve, teljes DN írásmód: uid=zhang3, ou=People, dc=163, dc=com. Csak az LDAP bejegyzés egyedi az LDAP szerver által.
LDAP Search szűrő
Használj szűrőt az LDAP kereséséhez. A szűrő általában olyan egységekből áll, mint például (attribútum=érték), például: (&(uid=ZHANGSAN)(objectclass=person)) azt jelzi, hogy a kereső felhasználó LDAP bejegyzése ZHANGSAN. Egy másik példa: (&(|( uid= ZHANGSAN)(uid=LISI))(objectclass=person)), ami azt jelzi, hogy a keresési azonosítóval rendelkező felhasználó keresése ZHANGSAN, vagyis LISI; A * használatával bármilyen értéket képviselhetsz, például (uid=ZHANG*SAN), és kereshetsz olyan bejegyzéseket, amelyek uid értékei ZHANG-val kezdődnek és SAN-ra végződnek. Továbbá, a különböző LDAP attribútum-egyeztetési szabályok szerint létezik egy szűrő, amely az alábbi volt: (&(createtimestamp>=20050301000000)(createtimestamp<=20050302000000)), ami azt jelzi, hogy a keresés létrehozási ideje 20050301000000 és 20050302000000 között van.
A Filterben a "&" jelentése "és"; “!” jelentése "nem"; “|” jelentése "vagy". A párosítási szabályoktól függően használhatjuk a "=", "~=", ">=" és "<=" típusokat.
Bázis DN
Egy alap DN lehet "dc=163,dc=com" vagy "dc=People,dc=163,dc=com". Mivel az LDAP egy fa adatszerkezet, a keresés a BaseDN-ből indul a bázis megadása után, és megadhatjuk a keresési területet: csak keresés alapú (bázis), bázisalapú közvetlen alszint (egy szint), és alapú, minden alfa szint.
objectClass
Az LDAP-ban egy bejegyzésnek tartalmaznia kell egy objectClass attribútumot, és legalább egy értéket kell hozzárendelni. Minden értéket egy LDAP bejegyzés adattárolási sablonként fog használni; A sablon tartalmaz egy attribútumot, amelyet a bejegyzéshez hozzá kell rendelni, valamint egy opcionális attribútumot. ObjectClassnak szigorú hierarchiája van, a top és alias a tetején. Például az organizationalPerson objectClass alárendelt a personalPerson-nak, a person pedig alárendelt a topnak.
az objectClass a következő három kategóriára osztható: Strukturális: például személy és szervezetEgység; Segéd: például extensibeObject; Absztrakt: Például az absztrakt objectClass nem használható közvetlenül. Az OpenLDAP sémában sok objektumosztály van definiálva, és néhány gyakran használt objectClass nevei az alábbiakban találhatók.
- beszámoló
- álnév
- dcobject
- Tartomány
- ipHost
- Szervezet
- szervezeti szerep
- szervezeti egység
- Személy
- szervezeti személy
- inetOrgPerson
- lakóSzemély
- posixAccount
- posixGroup
Az ObjectClass attribútumok gyűjteménye, és az LDAP sok emberi szervezetben megjelenő objektumot kapszulál, és objektumosztályokba kapszulálja azokat. Például a személyzet magában foglalja a vezetéknevet (sn), keresztnevet (cn), telefonszámot (telefonszámot), jelszót (userPassword) és egyéb attribútumokat, míg az organizationalPerson az öröklő személy osztálya, a fent említett attribútumokon kívül tartalmazza a címet, irányítószámot (postaszámot) és postai címet (postalAddress) is. és más tulajdonságok.
Az item típusok könnyen definiálhatók objektumosztályokon keresztül. Minden bejegyzés közvetlenül örökölhet több objektumosztályt, amelyek különböző tulajdonságokat örökölnek. Ha két objektumosztály van ugyanazzal az attribútummal, akkor csak 1 attribútum marad meg a bejegyzés öröklése után. Az objektumosztály azt is meghatározza, hogy mely tulajdonságok alapvető információk, és tartalmazniuk kell (kötelező): mely tulajdonságok kiterjesztett információk, és tartalmazhatnak (may vagy opcionális).
Háromféle objektumosztály létezik: strukturális, absztrakt és segédosztály. A strukturális típusok a legalapvetőbb típusok, amelyek meghatározzák az objektumtest alapvető tulajdonságait, és minden bejegyzés csak egy strukturális objektumosztályhoz tartozik és tartozik. Az absztrakt típusok lehetnek strukturális típusok vagy más absztrakt típusú szülők, amelyek az objektumtulajdonságok közös részeit rendezik, más osztályok sablonjai, és a bejegyzések nem integrálhatják közvetlenül az absztrakt objektumosztályokat. Az segédtípus meghatározza az objektum kiterjesztett tulajdonságait. Bár minden sáv csak egy strukturális objektumosztályhoz tartozik, egyszerre több segédobjektumosztályhoz is tartozhat.
Az objektumosztály maga örökölheti egymást, így az objektumosztály gyökérosztálya a felső absztrakt objektumosztály. A leggyakrabban használt embertípusokat példaként említve, az öröklési kapcsolatuk a képen látható:
Az accout beépített attribútumai: userid, description, host, localityName, organizationName, organizationalUnitName, lásd: Also;
Az inetOrgPerson beépített attribútumai: cn, sn, description, lásAlso, 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, címkézett URI, mail, manager, mobil, o, pager, photo, preferredLanguage, roomNumber, secretary, uid, userCertificate stb.;
Ahogy látod, az accout csak néhány szükséges és hasznos attribútumot állít be (ez mindenképpen elegendő a bejelentkezési ellenőrzés befejezéséhez), míg az inetOrgPerson sok beépített attribútumot tartalmaz, például telefonszám, mobiltelefonszám, utcai cím, e-mail szám, e-mail cím, szobaszám, avatár, vezető, alkalmazotti szám stb.
Ezért az LDAP konfigurálásakor ajánlott az objectClass típust accout-nak állítani, ha csak a bejelentkezés ellenőrzésére szolgál, és az objectClass-ot inetOrgPerson-ra, ha nagy és átfogó kincsesbányát szeretnél létrehozni az alkalmazottak információiból
Itt általában 'inetOrgPerson', 'posixAccount', 'shadowAccount' (shadowAccount' (posixAccount) szokom használni.
A fiók szükséges attribútumjai userid, míg a posixAccount szükséges attribútumai: cn, gidNumber, homeDirectory, uid, uidNumber; A shadowAccount szükséges attribútuma az uid, és az opcionális attribútumok közé tartozik a shadowExpire, shadowInactive, shadowMax, shadowMin, userPassword stb. A felső szükséges tulajdonság az objectClass (látható, hogy a top és más objectClassok öröklött kapcsolatok).
Tulajdonság
Az attribútumok hasonlóak a programozásban szereplő változókhoz, és hozzárendelhetők. Számos gyakran használt attribútumot az OpenLDAP-ban deklarálnak (a felhasználók saját attribútumaikat is meghatározhatják). A Főbb Attribútumok jelentései a következők:
- c: Country.
- CN:Common Name, amely egy tárgy nevére utal. Ha valakire utal, akkor a teljes nevét kell használni.
- a dc:domain komponens, amelyet gyakran használnak egy domain név egy részére utalva.
- givenName: egy személy nevére utal, nem vezetéknévre.
- l: Egy helynevet jelöl, például egy város vagy más földrajzi terület nevét.
- Mail: E-mail cím.
- o:organizationName, amely egy szervezet nevére utal.
- ou:organizationalUnitName, amely egy szervezeti egység nevére utal.
- SN: Vezetéknév, egy személy vezetéknevére utal.
- telefonszám: A telefonszám, amelynek tartalmaznia kell az adott ország kódját.
Tipp: az objectClass egy speciális attribútum, amely önmagát és más használt attribútumokat is tartalmaz.
Különböző objectClass-okhoz általában vannak kötelező tulajdonságértékek és opcionális tulajdonságok értékek. Például használhatod az objectClass person személy bejegyzését egy felhasználó bejegyzésének képviselésére a rendszerben, és a rendszerben lévő felhasználónak általában szüksége van valamilyen információra, mint például név, telefonszám, jelszó, leírás stb. Ahogy az alábbi képen látható, a személy esetében a felhasználó kereszt- és vezetéknevét cn és sn segítségével állítsd be, ami kötelező, míg más attribútumok opcionálisak.
Az alábbiakban felsoroljuk néhány leggyakrabban használt objectClass követelményt, amelyek szükségesek.
- account:userid。
- Organization:o。
- Személy: CN és SN.
- organizationalPersonal: Ugyanaz, mint a személy.
- organizationalRole:cn。
- organizationUnit:ou。
- posixGroup:cn、gidNumber。
- posixAccount:cn、gidNumber、homeDirectory、uid、uidNumber。
(Vége)
|