Я установил OpenLDAP на Centos 7 и попытался создать пользователя с правами администратора. Но я получил ошибку на ldap_modify . Ниже приведены мои шаги:

Установите OpenLDAP и запустите его:

sudo yum install openldap openldap-servers openldap-clients -y
systemctl start slapd.service

Создать admin.ldif

dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}CRiUMh5UM8/chPHbfc2Se2JA8Quc5F1P

dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth"
  read by dn.base="cn=ldapadmin,dc=demo,dc=local" read by * none

dn: olcDatabase={2}bdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=demo,dc=local

dn: olcDatabase={2}bdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=ldapadmin,dc=demo,dc=local

dn: olcDatabase={2}bdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}CRiUMh5UM8/chPHbfc2Se2JA8Quc5F1P

dn: olcDatabase={2}bdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by
  dn="cn=ldapadmin,dc=demo,dc=local" write by anonymous auth by self write by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by dn="cn=ldapadmin,dc=demo,dc=local" write by * read

Запустите ниже командной строки:

ldapmodify -Y EXTERNAL -H ldapi:/// -f /root/demo/users/admin.ldif

Тогда я получил эту ошибку:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={2}bdb,cn=config"
ldap_modify: No such object (32)
    matched DN: cn=config

У меня не было этой ошибки в другой системе, использующей Centos 7, поэтому мне интересно, что здесь происходит.

Пожалуйста помоги.

1 ответ1

1

Я нашел проблему. Вот исправление:

Измените olcDatabase={2}bdb bdb на olcDatabase={2}hdb

Убедитесь, что запустите это заранее:

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif 
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif

Ссылка: https://www.itzgeek.com/how-tos/linux/centos-how-tos/step-step-openldap-server-configuration-centos-7-rhel-7.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .