Назад | Перейти на главную страницу

ldap_modify: Недостаточный доступ (50)

Я использую сервер 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