Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 8768|Отговор: 1

Командите на OpenLDAP серия (3) OpenLDAP са обяснени подробно

[Копирай линк]
Публикувано в 23.06.2020 г. 22:34:54 ч. | | | |
Резюме на командите в OpenLDAP

  • ldapsearch: Търсене на записи в дървото на директорията OpenLDAP.
  • ldapadd: Добавя записи в дървото на директорията чрез LDIF формат.
  • ldapdelete: Deletes OpenLDAP directory tree entries.
  • ldapmodify: Модифициране на записа в дървото на директорията OpenLDAP.
  • ldapwhoami: Валидира идентичността на потребителите на OpenLDAP.
  • ldapmodrdn: Оценява DN записа в дървото на директорията OpenLDAP.
  • ldapcompare: Определя дали стойността на DN и зададената стойност на параметъра принадлежат на един и същ запис.
  • ldappasswd: Променете потребителския запис в дървото на директорията OpenLDAP, за да се постигне нулиране на паролата.
  • slaptest: Проверете файла slapd.conf или директорията cn=configuration.
  • slapindex: Създава индекс на дървото на директорията в OpenLDAP за осигуряване на ефективност при заявки.
  • slapcat: Конвертира данни в LDIF файлове за OpenLDAP.


Команда LDAPADD

Опции
описание
-x
Извърши проста автентикация
-D
DN, използван за свързване на сървъра
Адресът на службата за указатели
-w
Свързване на DN паролата
Файлове, които използват LDIF файлове за добавяне на записи


Първо подготвяме test.ldif файл със следната команда:



Съдържанието е следното:

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



Добавете команди по следния начин:



След въвеждане на паролата, тя се добавя успешно, както е показано на фигурата по-долу:



ldapmod команда

Командата ldapmodify е фиксирана и основно реализира различни функции за модификация чрез конфигурационни файлове.



Файлът demo.ldif е следният, което означава, че параметърът uidNumber на потребителя uid=xzz се променя.



Командване на ldappasswd

LDAPPASSWD отваря връзка към LDAP сървъра и променя паролата за влизане.

Опции
описание
-x
Извърши проста автентикация
-D
DN, използван за свързване на сървъра
-w
Свързване на DN паролата
Въведете паролата при поискване
-s
Pass, за да зададеш паролата да преминава
-a
Pass set old passWD to pass
Подскажи настройката на стария passwd
отнася се до сървъра, който трябва да бъде обвързан
-Аз
Използвайте метода на SASL сесията




команда ldapsearch

Команда за търсене на LDAP

[root@VM_0_9_centos ~]# ldapsearch -h
ldapsearch: option requires an argument -- 'h'
ldapsearch: unrecognized option -h
usage: ldapsearch [options] [filter [attributes...]]
where:
  филтър, съвместим с RFC 4515, LDAP филтър за търсене
  Атрибути Списък с описания на атрибути, разделени в празно пространство
    което може да включва:
      1.1 Без атрибути
      * всички потребителски атрибути
      + всички оперативни характеристики
Опции за търсене:
  -deref на никога (по подразбиране), винаги, търсете или намерите
  -A само за извличане на имена на атрибути (без стойности)
  -b, базиран на базата dn за търсене
  -c Режим на непрекъсната работа (не спирайте при грешки)
  -Е [!] <ext>[=<extparam>] разширения за търсене (! показва критичност)
             [!] domainScope (домейн обхват)
             !dontUseCopy (Не използвайте Copy)
             [!] mv= (RFC<filter> 3876 филтър за съвпадащи стойности)
             [!] pr=<size>[/prompt|noprompt] (RFC 2696 страници резултати/подсказка)
             [!] sss=[-]<attr[:OID]>[/[-]<attr[:OID]>...]
                                         (RFC 2891 сортиране от страна на сървъра)
             [!] subentries[=true|false] (RFC 3672 подзаписи)
             [!] sync=ro[/<cookie>] (RFC 4533 LDAP Sync refreshOnly)
                     rp[<cookie>/][/<slimit>] (refreshAndPersist)
             [!] vlv=<before>/<after>(/<offset><count>/|:<value>)
                                         (ldapv3-vlv-09 виртуален списък)
             [!] deref=derefAttr:attr[,...] [; derefAttr:attr[,...] [; ...]]
             [!] <oid>[=:<b64value>] (генеричен контрол; без обработка на отговор)
  -f операции за четене на файл от 'file'
  -F префикс URL префикс за файлове (по подразбиране: file:///tmp/)
  -l ограничава времевото ограничение (в секунди, или "никакъв" или "максимум") за търсене
  -L печатни отговори във формат LDIFv1
  -LL печата отговори във формат LDIF без коментари
  -LLL отпечатва отговори във формат LDIF без коментари
             и версия
  -M активира управление на DSA IT контрола (-MM за критично значение)
  -P версия на протокола (по подразбиране: 3)
  -s обхват едно на база, едно, подгрупа или деца (обхват на търсене)
  -S attr сортирайте резултатите по атрибут 'attr'
  -t записват двоични стойности във файловете във временната директория
  -tt записвай всички стойности във файлове във временна директория
  -T път за записване на файлове към директория, определена от пътя (по подразбиране: /tmp)
  -u включват потребителски удобни имена на записи в изхода
  -z лимит на размера (в записи, или "няма" или "макс") за търсене
Чести варианти:
  -d ниво задайте LDAP ниво за дебъгване на 'level'
  -D binddn bind DN
  -e [!] <ext>[=<extparam>] общи разширения (! показват критичност)
             [!] assert=<filter> (RFC 4528; RFC 4515 филтърен низ)
             [!] authzid=<authzid> (RFC 4370; "dn:<dn>" или "u:<user>")
             [!] верига[=<resolveBehavior>[/<continuationBehavior>]]
                     един от "chainingPreferred", "chainingRequired",
                     "препоръчванияПредпочитани", "препращанияЗадължителни"
             [!] manageDSAit (RFC 3296)
             [!] noop
             ppolicy
             [!] след прочетване[=<attrs>] (RFC 4527; списък с ATTR с разделени запетаи)
             [!] предварително прочетено[=<attrs>] (RFC 4527; списък с ATTR с разделени запетаи)
             [!] Спокойно
             [!] sessiontracking
             abandon, cancel, ignore (SIGINT изпраща abandon/cancel,
             или игнорира отговора; ако е критично, не чака SIGINT.
             не е точно контрол)
  -h хост LDAP сървър
  -H URI LDAP Униформен идентификатор на ресурса(и)
  -Използвам SASL Interactive режим
  -n показваш какво би се направило, но не го прави наистина.
  -N не използват обратен DNS за канонизиране на SASL хост името
  -O props SASL Security свойства
  -o <opt>[=<optparam>] общи опции
             nettimeout=<timeout> (в секунди, или "никакъв" или "максимум")
             ldif-wrap=<width> (в колони, или "не" за липса на опаковане)
  -p порт порт на LDAP сървъра
  -Q използвай SASL Тих режим
  -R царство SASL царство
  -U authcid SASL идентичност за автентикация
  -v се изпълнява в verbose режим (диагностика до стандартен изход)
  -Информация за печатната версия на V (само VV)
  -w passwd bind парола (за проста автентикация)
  -W подсказка за свързване на паролата
  -x Проста автентикация
  -X authzid SASL авторизационна идентичност ("dn:<dn>" или "u:<user>")
  -y файл Прочети паролата от файл
  -Y мех SASL механизъм
  -Z Start TLS заявка (-ZZ, за да се изисква успешен отговор)

Командата е следната:


Резултатите от заявката са следните:


Запитвайте всички потребители:


Обяснение на съществителното в LDAP

Клас обекти

LDAP обектният клас е моделът на данните, вграден в LDAP. Всеки objectClass има собствена структура от данни, например имаме objectClass, наречен "Phone Book", който със сигурност ще има много вградени атрибути, като име (uid), ID номер (uidNumber), име на единица (gid), домашен адрес (homeDirectory) и др., а в същото време има и objectClass, наречен "Classmate Record", който има "телефонен указател" Някои атрибути (като uid, homeDirectory) също имат атрибути, които не са в "телефонния указател" (като описание и др.).

Запис

Записът може да се нарече запис, записът е запис, основно устройство за съхранение в LDAP; Може да се разглежда и като колекция от DN и набор от атрибути. Имайте предвид, че запис може да съдържа няколко objectClass, например zhang3 може да съществува едновременно в "Телефонния указател" или в "Записа на съученика".

DN

Distinguished Name, уникалното отличително име на записа в LDAP, пълно DN изписване: uid=zhang3, ou=People, dc=163, dc=com. Само записът в LDAP е уникален за LDAP сървъра.

LDAP филтър за търсене

Използвайте филтър, за да търсите LDAP. Филтърът обикновено се състои от единица като (attribute=стойност), например: (&(uid=ZHANGSAN)(objectclass=person)) означава, че LDAP записът на потребителя в търсенето е ZHANGSAN. Друг пример е: (&(|( uid= ZHANGSAN)(uid=LISI))(objectclass=лице)), което означава, че търсенето на потребител с идентификатор за търсене е ZHANGSAN, или LISI; Можете също да използвате *, за да представите всяка стойност, като (uid=ZHANG*SAN), и да търсите записи с uid стойности, започващи с ZHANG и завършващи с SAN. Освен това, според различните LDAP правила за съвпадение на атрибути, може да има филтър по следния начин: (&(createtimestamp>=20050301000000)(createtimestamp<=20050302000000)), който показва, че времето за създаване на търсене е между 20050301000000 и 20050302000000.

В Филтър "&" означава "и"; “!” означава "не"; “|” означава "или". В зависимост от правилата за съвпадение можем да използваме "=", "~=", ">=" и "<=".

Основен DN

Базов DN може да бъде "dc=163,dc=com" или "dc=Хора,dc=163,dc=com". Тъй като LDAP е дървовидна структура от данни, търсенето ще започне от BaseDN след уточняване на базата, и можем да определим обхвата на търсене като: само базиран на търсене (базово), базирано директно подниво (едно ниво) и базирано на всички поддърво на ниво базирано.

objectClass

В LDAP записът трябва да съдържа атрибут objectClass и да му бъде присвоена поне една стойност. Всяка стойност ще се използва като шаблон за съхранение на данни от LDAP запис; Шаблонът съдържа атрибут, който трябва да бъде присвоен на записа, и опционален атрибут. objectClass има строга йерархия, с топ и алиас на върха. Например, objectClass на организационното лице е подчинено на лицето, а лицето е подчинено на върха.

objectClass може да се раздели на следните 3 категории:
Структурни: като личност и организация Единица;
Помощни: като extensibeObject;
Абстрактно: Например, абстрактният objectClass не може да се използва директно.
В схемата на OpenLDAP са дефинирани много objectClasses, а имената на някои често използвани objectClasses са изброени по-долу.

  • Разказ
  • Псевдоним
  • DCобект
  • Домейн
  • ipHost
  • Организация
  • организационна роля
  • организационна единица
  • Личност
  • организационен човек
  • inetOrgPerson
  • ЖителЛице
  • posixAccount
  • posixGroup


ObjectClass е колекция от атрибути, а LDAP капсулира много често срещани обекти в човешки организации и ги капсулира в обектни класове. Например, персоналът включва фамилия (sn), собствено име (cn), телефонен номер (telephoneNumber), парола (userPassword) и други атрибути, а organizationalPerson е класът на наследяване на лицето; освен горните атрибути, включва и титла, пощенски код (postalCode) и пощенски адрес (postalAddress). и други атрибути.

Типовете елементи могат лесно да се дефинират чрез класове на обекти. Всеки запис може директно да наследява множество класове обекти, което наследява различни свойства. Ако има 2 класа обекти с един и същ атрибут, само един атрибут ще се запази след наследяването на записа. Класът обекти също така определя кои свойства са основна информация и трябва да съдържат (Задължително): кои свойства са разширена информация и могат да съдържат (May или Optional).

Съществуват три типа класове обекти: структурни, абстрактни и помощни. Структурните типове са най-базовите типове, които задават основните свойства на тялото на обекта, като всеки запис принадлежи и принадлежи само на един клас структурен обект. Абстрактните типове могат да бъдат структурни типове или други абстрактни типове родители, които организират общите части на свойствата на обекта заедно, наречени шаблони за други класове, а елементите не могат директно да интегрират абстрактни класове обекти. Спомагателният тип определя разширените свойства на обектната единица. Въпреки че всяка лента принадлежи само на един структурен клас обекти, тя може да принадлежи едновременно на няколко допълнителни класа обекти.

Самият обектен клас може да се наследява взаимно, така че коренният клас на обектния клас е най-горният абстрактен клас обект. Като пример са често използваните типове хора, тяхната наследствена връзка е показана на фигурата:



Вградените атрибути на accout са: userid, description, host, localityName, organizationName, organizationalUnitName, вижте Също;

Вградените атрибути на inetOrgPerson са cn, sn, description, seeСъщо, 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 и др.;

Както виждате, Accout предварително задава само няколко необходими и полезни атрибута (определено е достатъчно за проверка на входа), докато inetOrgPerson има много вградени атрибути, като телефонен номер, мобилен телефон, уличен адрес, имейл номер, имейл адрес, номер на стая, аватар, мениджър, номер на служител и др.

Затова при конфигуриране на LDAP се препоръчва да се зададе objectClass тип да accate, ако е само с цел проверка на login, и objectClass на inetOrgPerson, ако искате да създадете голямо и изчерпателно съкровище от информация за служителите

Тук обикновено използвам 'inetOrgPerson', 'posixAccount', 'shadowAccount'.

Изискваните атрибути на акаунта са userid, докато изискваните атрибути на posixAccount са cn, gidNumber, homeDirectory, uid, uidNumber; Изискваният атрибут на shadowAccount е uid, а опционалните атрибути включват shadowExpire, shadowInactive, shadowMax, shadowMin, userPassword и др. Най-изискваното свойство е objectClass (може да се види, че top и други objectClasses са наследени отношения).

Атрибут

Атрибутите са подобни на променливите в програмирането и могат да бъдат присвоявани. Много често използвани атрибути са декларирани в OpenLDAP (потребителите могат да дефинират и свои собствени атрибути). Общите значения на атрибутите са следните:

  • c: Кънтри.
  • CN:Common Name, което се отнася до името на обект. Ако се отнася до човек, трябва да се използва пълното му име.
  • DC:Domain component, често използван за обозначаване на част от домейн име.
  • givenName: отнася се до името на човек, а не до фамилия.
  • l: Отнася се до име на място, като например име на град или друга географска област.
  • поща: Имейл адрес.
  • o:organizationName, което се отнася до името на организация.
  • ou:organizationalUnitName, което се отнася до името на организационна единица.
  • SN: фамилия се отнася до фамилното име на човек.
  • telephoneNumber: Телефонният номер, който трябва да носи кода на страната, в която се намира.


Съвет: objectClass е специален атрибут, който съдържа и други използвани атрибути, както и самия себе си.

За различни objectClasses обикновено има някои задължителни стойности на свойства и някои опционални стойности на свойства. Например, можете да използвате objectClass на лице, за да представите запис за потребител в системата, а потребителят в системата обикновено трябва да има информация като име, телефонен номер, парола, описание и др. Както е показано на изображението по-долу, за лице се зададе името и фамилията на потребителя чрез cn и sn, което е задължително, докато други атрибути са по избор.

Следва списък с някои често използвани изисквания за objectClass, които са задължителни.

  • account:userid。
  • organization:o。
  • Лице: CN и SN.
  • organizationalPerson: Същото като човек.
  • organizationalRole:cn。
  • organizationUnit:ou。
  • posixGroup:cn、gidNumber。
  • posixAccount:cn、gidNumber、homeDirectory、uid、uidNumber。

(Край)




Предишен:OpenLDAP: Не успях да стартирам OpenLDAP Server Daemon.
Следващ:Селекторът на Angular 9 Series (девет) #id приложен на страницата
Публикувано в 19.05.2023 г. 11:23:09 ч. |
Научих
Благодаря, че споделихте~~~
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com