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

openLDAP не импортирует ldif в «cn = config»

У меня проблемы с настройкой группы администраторов для openLDAP.

Я только что перешел в olcconfig и установил следующий ldif:

dn: olcDatabase={1}mdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {3}to dn.subtree="dc=mysite,dc=com"
 by group(s)/groupOfNames/member="cn=admin,ou=group,dc=mysite,dc=com" manage

Я пытаюсь добавить это через sudo ldapadd -D "cn=diradmin,dc=mysite,dc=com" -f admin.ldif -W -x где дирадмин - корень дн. Когда я это делаю, я получаю:

modifying entry "olcDatabase={1}mdb,cn=config"
ldap_modify: Insufficient access (50)

Я прочитал несколько разных руководств, но не понимаю, почему это происходит. Может ли кто-нибудь помочь с вероятными причинами (и даже указать на хороший учебник!).

Спасибо.

------ Редактировать -----

Я сейчас пробовал: sudo ldapadd -Y EXTERNAL -H ldapi:/// -f admin.ldif

Моя ошибка была следующей:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={1}mdb,cn=config"
ldap_modify: Insufficient access (50)

Чтобы обновить olcAccess атрибуты для вашего dc=mysite,dc=com вам действительно нужны разрешения на cn=config база данных.

Корневой DN, который вы пытаетесь использовать, будет работать только для обновления объектов в dc=mysite,dc=com база данных, у нее нет / не должно быть разрешений на cn=config база данных.

Я не знаю, как вы сгенерировали свою конфигурацию, но похоже, что вам нужно добавить хотя бы что-то вроде olcAccess: to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage by * none на olcDatabase={0}config,cn=config объект. Это позволит вам использовать EXTERNAL auth, упомянутый в другом ответе, чтобы применить исходное изменение LDIF.

Если у вас нет настроенных списков ACL, позволяющих обновлять cn=config базу данных, вы можете попробовать принятый ответ в этот вопрос для редактирования файлов базы данных, которые обычно находятся в /etc/ldap/slapd.d или /etc/openldap/slapd.d.

Я ни в коем случае не эксперт, но я думаю, что это может быть проблема с настройкой конфигурации для начала, для устранения которой потребуются дополнительные данные конфигурации, но если вы хотите применить LDIF, вы можете обойти привязку -dn с помощью трюка ВНЕШНЕЙ аутентификации:

ldapadd -Y EXTERNAL -H ldapi:/// -f <filename>

А затем прочтите эту старую ветку, чтобы узнать, поможет ли она вам решить проблему: https://www.openldap.org/lists/openldap-technical/201306/msg00220.html