Я использую сервер OpenLDAP 2.4, который использует службу SSL для связи. Он работает для поиска.
Пытаюсь добавить репликацию в зеркальном режиме.
Итак, это команда, которую я выполняю:
ldapmodify -D "cn=myuser,dc=mydomain,dc=com" -H ldaps://myloadbalancer -W -f /etc/ldap/ldif/server_id.ldif
Где это мой server_id.ldif:
dn: cn=config
changetype: modify
replace: olcServerID
olcServerID: 1 myserver1
olcServerID: 2 myserver2
и это мой cn \ = config.ldif в дереве текстовых файлов slapd.d:
dn: cn=config
objectClass: olcGlobal
cn: config
olcArgsFile: /var/run/slapd/slapd.args
olcPidFile: /var/run/slapd/slapd.pid
olcToolThreads: 1
structuralObjectClass: olcGlobal
entryUUID: ff9689de-c61d-1031-880b-c3eb45d66183
creatorsName: cn=config
createTimestamp: 20121118224947Z
olcLogLevel: stats
olcTLSCertificateFile: /etc/ldap/certs/ldapscert.pem
olcTLSCertificateKeyFile: /etc/ldap/certs/ldapskey.pem
olcTLSCACertificateFile: /etc/ldap/certs/ldapscert.pem
olcTLSVerifyClient: never
entryCSN: 20121119022009.770692Z#000000#000#000000
modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
modifyTimestamp: 20121119022009Z
Но, к сожалению, получаю вот что:
Enter LDAP Password:
modifying entry "cn=config"
ldap_modify: Insufficient access (50)
Если я попытаюсь указать базу данных конфигурации, я получу следующее:
ldapmodify -H 'ldaps://myloadbalancer/cn=config' -D "cn=myuser,cn=config" -W -f ./server_id.ldif
Enter LDAP Password:
ldap_bind: Invalid credentials (49)}
Кто-нибудь знает, как я могу добавить serverID в базу данных конфигурации, чтобы я мог завершить настройку зеркального режима?
Это именно то, что написано на банке. Ваш DN cn=myuser,dc=mydomain,dc=com
недостаточно прав для изменения cn=config
дерево. И когда вы пытаетесь «указать базу данных конфигурации», вы используете совершенно другой DN, cn=myuser,cn=config
, который, очевидно, либо не существует, либо вы используете неправильный пароль.
Для выполнения подобных изменений вам необходимо работать с учетной записью, обладающей достаточными правами для изменения различных баз данных. Учетная запись "admin", то есть одна учетная запись, которая всегда имеет все привилегии, указывается в атрибуте olcRootDN
и его пароль находится в olcRootPW
. Для cn=config
база данных, в которой находятся эти атрибуты olcDatabase={0}config,cn=config
а для «обычной» базы данных, обычно типа HDB, в olcDatabase={1}hdb,cn=config
.
Какое руководство или документация вы следовали? Не похоже, что вы полностью понимаете, что вы здесь делаете.
Поскольку у меня была довольно похожая проблема, я попробовал интересное решение daff, но безрезультатно. В отличие от Линн Оуэнс, мне не удалось добавить пароль к админке в olcDatabase={0}config,cn=config
. Наконец-то мне удалось изменить свой cn=config
используя такие команды, как:
ldapmodify -Y EXTERNAL -H ldapi:/// -f somefile.ldif