У меня проблемы с настройкой группы администраторов для 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
, где diradmin - это корневой DNS. Когда я это делаю, я получаю:
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" управляется * none
в olcDatabase = {0 } config, cn = объект config
. Это позволит вам использовать EXTERNAL
auth, упомянутый в другом ответе, чтобы применить ваше исходное изменение LDIF.
Если у вас нет настроенных ACL, которые позволяют обновлять cn = config
database, то вы можете попробовать принятый ответ в этом вопросе , чтобы отредактировать файлы базы данных, которые обычно находятся в /etc/ldap/slapd.d
или / и т.д. / openldap / slapd.d
.
Я ни в коем случае не эксперт, но я думаю, что это может быть проблема, связанная с вашей настройкой конфигурации для начала, что потребует дополнительных данных конфигурации для устранения неполадок, но если вы хотите применить LDIF вы можете обойти bind-dn, используя трюк ВНЕШНЕЙ аутентификации:
ldapadd -Y EXTERNAL -H ldapi: /// -f
А затем прочтите этот старый поток, чтобы узнать, поможет ли он вам решить проблема: https://www.openldap.org/lists/openldap-technical/201306/msg00220.html