Я следую шагам в этой теме: Базовая настройка openldap с использованием конфигурации slapd.d
Я создал и сохранил свой собственный файл .ldif с необходимыми изменениями и сохранил его как changes.ldif
. Вот содержимое созданного мной файла:
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}oRvzr9r1qQ7Cn3xN/efmeKJQzwS0wK6z
replace: olcRootDN
olcRootDN: cn=admin,dc=softura,dc=com
replace: olcSuffix
olcSuffix: dc=softura,dc=com
Затем я выполнил ldapmodify
команда:
ldapmodify -a -Q -Y EXTERNAL -H ldapi:/// -f changes.ldif
И мне сказали:
изменение записи "olcDatabse = {2} hdb, cn = config"
Пока все хорошо, правда? Но если я открою файл olcDatabse={2}hdb.ldib
... ничего не изменилось.
РЕДАКТИРОВАТЬ:
Я изменил содержимое моего файла ldif на:
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}oRvzr9r1qQ7Cn3xN/efmeKJQzwS0wK6z
-
replace: olcRootDN
olcRootDN: cn=admin,dc=softura,dc=com
-
replace: olcSuffix
olcSuffix: dc=softura,dc=com
Теперь, когда я выполняю команду, я получаю следующее:
ldap_modify: Несоответствующее соответствие (18)
дополнительная информация: изменить / добавить: olcRootPW: нет правила сопоставления равенства
Проверьте синтаксис вашего changes.ldif
. В моем примере есть строки только с -
там. Они обозначают конец блока данных для операции LDAP (например, add
или replace
).
Видеть man 5 ldif
и RFC 2849.
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}oRvzr9r1qQ7Cn3xN/efmeKJQzwS0wK6z
-
replace: olcRootDN
olcRootDN: cn=admin,dc=softura,dc=com
-
replace: olcSuffix
olcSuffix: dc=softura,dc=com
Файлы LDIF довольно загадочны ...
Корень моей проблемы был в том, что строка для olcRootPW
уже существует. Похоже, в этот момент это приводило к прерыванию, поскольку ни один из следующих двух replace
команды происходили.
Итак, ближайшая проблема решена.
Однако .... Теперь olcRootDN и olcSuffix правильно заменяются. Но существующая строка:
olcRootPW: e1NTSEF9b1J2enI5cjFxUTdDbjN4Ti9lZm1lS0pRendTMHdLNno=..
заменяется НЕ на:
olcRootPW: {SSHA}oRvzr9r1qQ7Cn3xN/efmeKJQzwS0wK6z
Это просто остается прежним. Я открою для этого новый пост.