Хочу настроить репликацию между двумя ldap серверами. Все сделал как написано в AdminGuide - не работает. В логах ошибка - entryCSN: no user modification allowed. Привожу фрагменты slapd.conf:
master:database bdb
suffix "dc=intes,dc=od,dc=ua"rootdn "cn=Manager,dc=intes,dc=od,dc=ua"
rootpw secretdirectory /var/lib/ldap
index objectClass eq
index uid eq
index qAddr eqaccess to *
by dn="cn=Manager,dc=intes,dc=od,dc=ua" write
by dn="cn=Replicator,dc=intes,dc=od,dc=ua" write
by * auth
by * nonereplogfile /var/lib/ldap/replog.log
replica host=194.46.26.2:389
binddn="cn=Replicator,dc=intes,dc=od,dc=ua"
bindmethod=simple credentials=rsecretslave:
database bdb
suffix "dc=intes,dc=od,dc=ua"rootdn "cn=Manager,dc=intes,dc=od,dc=ua"
rootpw secretdirectory /var/lib/ldap
index objectClass eq
index uid eq
index qAddr eqaccess to *
by dn="cn=Manager,dc=intes,dc=od,dc=ua" write
by dn="cn=Replicator,dc=intes,dc=od,dc=ua" write
by * auth
by * none# replication options
updatedn "cn=Replicator,dc=intes,dc=od,dc=ua"
updateref ldap://www.quercimail.com:389В чем дело? Ведь все правильно(кажись...)!!!
попробуй поставить для репликации
"cn=Manager,dc=intes,dc=od,dc=ua"
может где то с правами неверно ... в самой базе ldap?
>попробуй поставить для репликации
>"cn=Manager,dc=intes,dc=od,dc=ua"
>может где то с правами неверно ... в самой базе ldap?Пробовал, не помогает. Да и не рекомендуется ипользовать rootdn для репликации.
>Пробовал, не помогает. Да и не рекомендуется ипользовать rootdn для репликации.
понятно что не рекомендуется. я имею ввиду для того, что бы найти проблему ...
ещё вопрос, у меня были проблемы, решились исправлением прав на replog. юзер ldap не мог записать туда ничего ... от этого и проблемы были у меня
>>Пробовал, не помогает. Да и не рекомендуется ипользовать rootdn для репликации.
>
>
>понятно что не рекомендуется. я имею ввиду для того, что бы найти
>проблему ...
>ещё вопрос, у меня были проблемы, решились исправлением прав на replog. юзер
>ldap не мог записать туда ничего ... от этого и проблемы
>были у меняТоже думал что может быть такая проблема, поэтому для уверенности запустил slapd с правами root'а - не помогло :-(
>Тоже думал что может быть такая проблема, поэтому для уверенности запустил slapd
>с правами root'а - не помогло :-(
не не, скорее всего ldap создаёт этот файлы ldap.log ldap.log.lock от пользователя ldap. файлы вообще создаются ?
версия ldap какая ? ОС какая ?
>>Тоже думал что может быть такая проблема, поэтому для уверенности запустил slapd
>>с правами root'а - не помогло :-(
>
>
>не не, скорее всего ldap создаёт этот файлы ldap.log ldap.log.lock от пользователя
>ldap. файлы вообще создаются ?
>версия ldap какая ? ОС какая ?
Файлы создаются, подключение и авторизация к slave'y проходит успешно, а дальше проблемы...
ОС - Linux Suse 8.2
OpenLDAP v.2.1.12-44
>ОС - Linux Suse 8.2
>OpenLDAP v.2.1.12-44
под пользователем "cn=Replicator,dc=intes,dc=od,dc=ua" что то реально сделать на SLAVE ? посмотреть список записей например
>>ОС - Linux Suse 8.2
>>OpenLDAP v.2.1.12-44
>
>
>под пользователем "cn=Replicator,dc=intes,dc=od,dc=ua" что то реально сделать на SLAVE ? посмотреть список
>записей например
Да, пользователь "cn=Replicator,dc=intes,dc=od,dc=ua" имеет права на запись в каталог. Я проверял - с этим все в порядке.
Ну неужели никто больше из здесь присутствующих с этим не сталкивася? Помогите кто-нибудь!
Памагите-е-е-е-е-е-е-е-е!!!!!!!!!!! Кто-нить!!!!!! Ну срочно надо настроить эту долбаную репликацию...
>Хочу настроить репликацию между двумя ldap серверами. Все сделал как написано в
>AdminGuide - не работает. В логах ошибка - entryCSN: no user
>modification allowed. Привожу фрагменты slapd.conf:
>master:
>
>database bdb
>suffix "dc=intes,dc=od,dc=ua"
>
>rootdn "cn=Manager,dc=intes,dc=od,dc=ua"
>rootpw secret
>
>
>directory /var/lib/ldap
>
>index objectClass eq
>index uid eq
>index qAddr eq
>
>access to *
> by dn="cn=Manager,dc=intes,dc=od,dc=ua" write
> by dn="cn=Replicator,dc=intes,dc=od,dc=ua" write
> by * auth
> by * none
>
>replogfile /var/lib/ldap/replog.log
>replica host=194.46.26.2:389
> binddn="cn=Replicator,dc=intes,dc=od,dc=ua"
> bindmethod=simple credentials=rsecret
>
>slave:
>
>database bdb
>suffix "dc=intes,dc=od,dc=ua"
>
>rootdn "cn=Manager,dc=intes,dc=od,dc=ua"
>rootpw secret
>
>directory /var/lib/ldap
>
>index objectClass eq
>index uid eq
>index qAddr eq
>
>access to *
> by dn="cn=Manager,dc=intes,dc=od,dc=ua" write
> by dn="cn=Replicator,dc=intes,dc=od,dc=ua" write
> by * auth
> by * none
>
># replication options
> updatedn "cn=Replicator,dc=intes,dc=od,dc=ua"
> updateref ldap://www.quercimail.com:389
>
>В чем дело? Ведь все правильно(кажись...)!!!
Попробуйте использовать механизм SyncRepl, тем более, что в AdminGuide он обозначен как предпочтительный. Этот механизм не требует изменений в master, не требует отдельного процесса для синхронизации, позволяет синхронизировать по фильтру и т.д., а с типом refreshAndPersist Вы получите то же что и со slurpd.
Да, и еще: стоит посмотреть опцию updatedn на slave...
Ладно, забью на slurpd - все равно все перепробовал и ошибка не пропала. Может кто-нибудь подкинуть работающий конфиг slave'а с работающим syncrepl, а то у меня опять нихрена не работает(должно быть руки кривоватые...)? И еще вопрос: если в качестве master'a стоит ldap старой версии, не поддерживающий syncrepl, то ничего работать не будет пока не обновлю его?
>Ладно, забью на slurpd - все равно все перепробовал и ошибка не
>пропала. Может кто-нибудь подкинуть работающий конфиг slave'а с работающим syncrepl, а
>то у меня опять нихрена не работает(должно быть руки кривоватые...)? И
>еще вопрос: если в качестве master'a стоит ldap старой версии, не
>поддерживающий syncrepl, то ничего работать не будет пока не обновлю
>его?
Видимо, придется обновить. СтОит посмотреть FAQ на www.openldap.org там некоторые вещи описаны, которых нет в AdminGuide/man
Не пробовал смотреть в сторону нормальных сетевых каталогов? Например, eDirectory?
>Не пробовал смотреть в сторону нормальных сетевых каталогов? Например, eDirectory?Нет, дело в том, что у меня на openldap завязана антиспамерская система собственного написания(я с этим openldap месяц воевал, пока написал все по-человечески), т.е.
переход на другую службу каталогов чреват долгими бессоными ночами, проведеными над изменением исходного кода.
penldap replication problem.Доброго дня!
При настройке репликации столкнулся со следующей ошибкой:
/var/lib/ldap/replica/10.xx.xx.1.rej
ERROR: Constraint violation
replica: 10.xx.xx.xx:389
time: 1124715830.0
dn: uid=uuu, ou=People, dc=firma,dc=com
changetype: modify
replace: shadowLastChange
shadowLastChange: 12992
-
replace: modifiersName
modifiersName: cn=replicator, dc=firma,dc=com
-
replace: modifyTimestamp
modifyTimestamp: 20050822130350Z
-/etc/openldap/slapd.conf
#master:
.....
replogfile /var/lib/ldap/master-slapd.replogaccess to attr=userpassword
by self write
by * read
access to *
by self write
by dn=".+" read
by * read
access to *
by dn="cn=replicator,dc=firma,dc=com" write
by * readdatabase ldbm
suffix "dc=firma,dc=com"
rootdn "cn=admin,dc=firma,dc=com,dc=ua"
rootpw password
directory /var/lib/ldapreplica host=10.xx.xx.1:389
binddn="cn=replicator,dc=firma,dc=com"
bindmethod=simple
credentials=password---------------------------
#slave:
updatedn="cn=replicator,dc=firma,dc=com"
updateref=10.xx.xx.2:389pidfile /var/run/slapd.pid
argsfile /var/run/slapd.args
access to attr=userpassword
by self write
by * read
access to *
by self write
by dn=".+" read
by * read
access to *
by dn="cn=replicator,dc=firma,dc=com" write
by * readdatabase ldbm
suffix "dc=firma,dc=com"
rootdn "cn=admin,dc=firma,dc=com"
rootpw passworddirectory /var/lib/ldap
---------
c помощью LDAPBrowser пользователем replicator соединяюсь с обоими серверами (с master и slave) и могу добавлять, удалять, редактировать данные.
Что я делаю не так, помогите пожалуйста. Очень нужно настроить репликацию.
читайте мануал господа.
основной момент, вытянуть всю базу мастера и залить на слайве.
потом раскомментировать на слайве
updatedn, updateref и включить политику полного доступа для cn=replicator
перезапускаем мастер и слайве.
все.
>читайте мануал господа.
>основной момент, вытянуть всю базу мастера и залить на слайве.
>потом раскомментировать на слайве
>updatedn, updateref и включить политику полного доступа для cn=replicator
>перезапускаем мастер и слайве.
>все.Да... Хороший совет, конечно, но и так все было сделано по мануалу. Вот тока мануал не оговаривал, что и мастер и слейв должны быть одинаковой версии, или хотябы из одной ветки. А проблема была именно в этом.