Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - мережевий хробачок™

Страницы: [1]
1
Разницы 3:
1. ldapmodify можно использовать удалённо или когда нет прямого доступа к файловой системе.
2. ldapmodify защищает "от дурака": выдаёт ошибку при неправильной модификации и изменение не проходит.
3. Перед правкой файлов нужно отключать slapd, а при ldapmodify всё online.

Егор

Ещё раз спасибо :-)

2
Здравствуйте, Арсений!

Я бы оставил хотя бы cn в MUST -- класс-то структурный.

Егор

Да, хороший поинт, спасибо :-)

В целом - сделал по подсказке отсюда.

Всё заработало под OLC:

# cat /etc/openldap/slapd.d/cn=config/cn=schema/cn={1}core.ldif | grep -A3 groupOfUniqueNames
olcObjectClasses: {15}( 2.5.6.17 NAME 'groupOfUniqueNames' DESC 'RFC2256: a gr
 oup of unique names (DN and Unique Identifier)' SUP top STRUCTURAL MUST ( cn
 ) MAY ( businessCategory $ seeAlso $ owner $ ou $ o $ description $ uniqueMem
 ber ) )

Разработчик подтвердил, создание групп работает.

Не понимаю одного - раз меняется ldif-файл схемы, какая разница - пилить через создание отдельного ldif и потом ldapmodify (а именно так рекомендуется во всех нагугленных примерах), или напрямую отредактировать файл /etc/openldap/slapd.d/cn=config/cn=schema/cn={1}core.ldif?

Не так давно менял пароль cn=root,cn=config прямо в файле /etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif - всё работает.

Anyway - Егор, спасибо.

3

Попробовали?

Егор

Ещё нет. Вчера только насетапить новый сервер успел и базу перенести.
Сделал пока на slpad.conf (дело было к вечеру - хотедось побыстрее :-) ), перенесу на OLC, и буду пробовать.

Насколько успел вчера нагуглить - напрямую ldif (в данном случае это /etc/openldap/slapd.d/cn=config/cn=schema/cn={1}core.ldif ) править не надо, надо через ldapmodify. Т.е. - запилить новый ldif  с измененными данными, и его "скормить" через ldapmodify -f. Верно?

UPD только что протестили на slapd.conf. Изменил:

objectclass ( 2.5.6.17 NAME 'groupOfUniqueNames'
        DESC 'RFC2256: a group of unique names (DN and Unique Identifier)'
        SUP top STRUCTURAL
        MUST ( uniqueMember $ cn )
        MAY ( businessCategory $ seeAlso $ owner $ ou $ o $ description ) )

на:

objectclass ( 2.5.6.17 NAME 'groupOfUniqueNames'
        DESC 'RFC2256: a group of unique names (DN and Unique Identifier)'
        SUP top STRUCTURAL
        MAY ( businessCategory $ seeAlso $ owner $ ou $ o $ description $ uniqueMember $ cn ) )

в /etc/openldap/schema/core.schema.

Вроде полёт нормальный, помогло. Осталось поправить на OLC-конфиге.

4
Здравствуйте!
в сторону изменения объектного класса groupOfUniqueNames -- перевести атрибут uniqueName из разряда MUST в разряд MAY. При настройках через slapd.conf, думаю, достаточно просто поменять core.schema и перезапустить slapd.
Егор

Не совсем понял, при чём в данном случае groupOfUniqueNames (ведь uniqueMember от неё не зависит?) - но ОК.

Есть у нас такой:

objectclass ( 2.5.6.17 NAME 'groupOfUniqueNames'
        DESC 'RFC2256: a group of unique names (DN and Unique Identifier)'
        SUP top STRUCTURAL
        MUST ( uniqueMember $ cn )
        MAY ( businessCategory $ seeAlso $ owner $ ou $ o $ description ) )

Помню, что изначально делал на slapd.conf, потом перенёс в cn=config. Если не ошибаюсь - при "перезде" на cn=config - файлы схем конвертируются в отдельные ldif-ы.

Т.е. - в данном нашем случае, это:

# cat /etc/openldap/slapd.d/cn=config/cn=schema/cn={1}core.ldif | grep -A3 groupOfUniqueNames
olcObjectClasses: {15}( 2.5.6.17 NAME 'groupOfUniqueNames' DESC 'RFC2256: a gr
 oup of unique names (DN and Unique Identifier)' SUP top STRUCTURAL MUST ( uni
 queMember $ cn ) MAY ( businessCategory $ seeAlso $ owner $ ou $ o $ descript
 ion ) )

Идея проста - забекапить базы, забекапить ldif, отредактировать, перезапустить, проверить.

5
Что ещё интересно, заметил - что distinguishedName вообще закомментирован в /etc/openldap/schema/core.schema, хотя ссылки к нему, как родительскому, есть в описании многих атрибутов:

attributetype ( 2.5.4.31 NAME 'member'
        DESC 'RFC2256: member of a group'
        SUP distinguishedName )

# system schema
#attributetype ( 2.5.4.49 NAME 'distinguishedName'
#       EQUALITY distinguishedNameMatch
#       SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )



6
Егор, спасибо за ответ.

Касаемо "зачем" - я понятия не имею :-)

Знаю только, что приложение, которое разрабывается нами, не будет корректно работать из-за этих самых разных OID.
Потому - разработчики попросили заменить на локальном LDAP-е конфигурацию.

7
Привет.

У нас есть два LDAP сервера: наш, локальный - на OpenLDAP, и IBM Directory Server for IBM i (LDAP) - у заказчика.

Между ними есть различия в описании аттрибута uniqueMember.

Локальный OpenLDAP:



LDAP заказчика:



В файле схемы /etc/openldap/schema/core.schema аттрибут uniqueMember описан как:

attributetype ( 2.5.4.50 NAME 'uniqueMember'
        DESC 'RFC2256: unique member of a group'
        EQUALITY uniqueMemberMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.34 )

Где 1.3.6.1.4.1.1466.115.121.1.34 - и есть искомый 1.3.6.1.4.1.1466.115.121.1.34 - Name and Optional UID syntax, тогда как нам нужен 1.3.6.1.4.1.1466.115.121.1.12 - Distinguished Name syntax.

Собственно - вопрос. Как его можно изменить?

Нагуглить получилось вот это>>>, где говорится, что:

Цитировать
> One cannot change the syntax definition of an attribute in the schema when that attribute is already populated with data. The data need to be unloaded/backed up (e.g , in an LDIF file perhaps) first. The schema changes can be done after that. The data then can be reloaded with the new syntax

Т.е. - просто изменить OID в файле схемы - нельзя, т.к. это затронет (поломает?) уже имещиеся данные (что, в принципе, логично).

Так ли это? Так как на нашем LDAP-сервере уже достаточно много баз, и лишнего геморроя не хочется...

Спасибо за подсказки.

8
Общий раздел / Re: OpenLDAP backup: slapcat vs ldapsearch
« : 25 Февраль 2014, 09:18:05 »
Спасибо, Егор :)

9
Общий раздел / Re: OpenLDAP backup: slapcat vs ldapsearch
« : 24 Февраль 2014, 09:16:59 »
Егор, спасибо. Вы, как обычно, всё разжевали :-)
Цитировать
> Кстати, у Вас ошибка в запросе:

Просто саму базу ещё не переносил, с тестовой балуюсь. Ну, раз коснулись - а как можно задать фильтр "от определённого RDN - и всё после него"?

Цитировать
> Наконец, на LDAP-оперцию search накладываются ограничения (limits), в частности ограничение по размеру sizeLimit, обычно 500 записей

Печально... База у нас довольно громоздкая будет.

А про какие "ухищрения" вы говорили - можно ссылочку, почитать. И - эти же ограничения применяются и к ldapadd, как я понимаю?

И последнее - я так понимаю, что придётся пользоваться именно slapcat/add, но для add - сервер обязательно надо будет гасить? Пока - bdb будет база.

10
Общий раздел / OpenLDAP backup: slapcat vs ldapsearch
« : 23 Февраль 2014, 21:30:37 »
Приветствую.

Есть задачи:

1) запилить скрипт полного бекапа LDAP-базы;
2) запилить скрипт roll-back базы (т.е. - удалить существующую - накатить новую).

Насколько получилось нагуглить - у OpenLDAP есть два основных инструмента для этих целей - slapcat/add и ldapsearch/add.

Хотелось бы прояснить пару моментов.

Используется: openldap-servers-2.4.23-34.el6_5.1.x86_64

1) slapcat - создаёт файл ldif в формате Berkeley DB (в случае использования hdb/bdb базы, само собой);
2) slapcat может использоваться во время запущенного демона slapd (если используется bdb/hdb);
3) Для восстановления из файла, полученного с помощью slapcat можно использовать только slapadd (не ldapadd);
4) slapcat/add не требуют указания данных доступа к БД;
5) slapadd можно использовать только при остановленном slapd.

Примеры:

$ slapcat -f /etc/openldap/slapd.conf -b "dc=db_1" -l db_1_backup.ldif
 $ slapadd -l db_1_backup.ldif

И про ldapsearch/add:

1) ldapsearch - создаёт файл почти в том же формате, что и slapcat, который может использоваться ldapadd;
2) ldapadd - не требует остановки демона slapd;
3) ldapadd/search - требуют логин/пароль для доступа к БД.

Примеры:

$ ldapsearch -D "cn=root,dc=db_1" -W -b "dc=db_1" "dc=db_1" -LLL > db_1_backup2.ldif
 $ ldapadd -x -D "cn=root,dc=db_1" -W -f db_1_backup2.ldif

1) можно ли использовать slapadd для файлов, полученных с помощью slapcat?

2) что ещё важного я упустил в описании этих инструментов?

3) и отдельно - в чём ещё разница между ними, в плане создания бекапов?

4) есть ли ещё какие-то инструменты для бекапов? (не backula и fsbackup - а более "родные" для LDAP).

Спасибо :)

11
Общий раздел / Книги по LDAP
« : 06 Январь 2014, 12:58:40 »
Имеющиеся книги на сайте - без спору мега-хороши, особенно "LDAP для учёных-ракетчиков". Но - есть ли толковые книги в печатном виде, изданные в РФ/Укр? Посоветуйте что почитать для newbie. PDF на эл. книге не слишком удобно, хочется полистать обычную бумажную книгу.

12
Привет. Парочка простых вопросов.

1) Как можно из консольного клиента (ldapsearch или из shelldap?) получить список активных схем сервера?
2) То же, но посмотреть доступные objectClass-ы и атрибуты;
3) То же, но получить само DIT. Т.е. - например, в файловой системе можн ополучить дерево каталогов/файлов с помощью tree:

$ tree
.
├── Catalina
│   └── localhost
│       ├── host-manager.xml
│       └── manager.xml
├── catalina.policy
├── catalina.properties

Можно получить примерно ту же картину дерева LDAP? В phpLdapAdmin-е оно всё выглядит красиво, спору нет - но хочется иметь возможно пользоваться консольными утилитами.

Спасибо.

13
Веб-сервисы / Re: WordPress + LDAP
« : 21 Октябрь 2013, 09:25:49 »
Что ж, спасибо, Егор, буду пробовать :-)

14
Веб-сервисы / WordPress + LDAP
« : 19 Октябрь 2013, 21:12:53 »
Скажите, поднимал ли кто-то такую связку? Если да - какими решениями (плагинами etc) пользовались? Какие схемы в LDAP-е использовались?

Особенно интересно, что бы при регистрации в WP - учётка создавалсь именно в LDAP-е.

openldap-server-2.4.36_2
WordPress 3.6.1.

Страницы: [1]