У меня проблемы с настройкой группы администраторов для 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