OpenLDAP: преобразование плоского файла (slapd.conf) в OLC (slapd.d) ... невозможно получить доступ к cn = config
877
Hounddog
Я пытаюсь настроить OpenLDAP. У меня были проблемы с опцией конфигурации OLC, поэтому я пошел с вводом стиля slapd.conf, так как я полный нуб в LDAP, и это было легче понять.
Теперь у меня есть необходимость использовать опцию конфигурации OLC, поэтому я пытаюсь конвертировать. Я могу правильно конвертировать с помощью команды
и все запускается и работает правильно, и все это чертовски дорого. Тем не менее, я не могу получить доступ cn=configс помощью ldapsearch. Я пробовал анонимный доступ с:
ldapsearch -x -D -b 'cn=config' '(objectclass=*)'
который возвращается 32 No such object
Я был бы рад любым идеям о том, что я делаю здесь неправильно.
Вот мой (теперь устаревший и преобразованный) файл slapd.conf:
include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/nis.schema pidfile /var/run/openldap/slapd.pid argsfile /var/run/openldap/slapd.args moduleload memberof.so access to dn.base="" by * read access to dn.base="cn=Subschema" by * read access to dn.base="ou=users,dc=example,dc=com" filter=(objectclass=organizationalUnit) by dn.subtree="ou=sysusers,dc=example,dc=com" read by users read access to dn.children="ou=users,dc=example,dc=com" filter=(objectclass=inetOrgPerson) attrs=uid,memberOf,entry,objectClass by dn.subtree="ou=sysusers,dc=example,dc=com" read by self write access to dn.children="ou=users,dc=example,dc=com" filter=(objectclass=inetOrgPerson) attrs=mail,cn by dn.base="cn=owncloud,ou=sysusers,dc=example,dc=com" read by self write access to dn.base="dc=example,dc=com" by users read access to * by self write by anonymous auth database hdb suffix "dc=example,dc=com" checkpoint 32 30 rootdn "cn=admin,dc=example,dc=com" rootpw redactedredactedredacted directory /var/lib/openldap-data index objectClass eq loglevel 4 overlay memberof database config access to * by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage by * read
Я новичок в настройке сервера ldap, так что извините, если я задаю глупые вопросы.
Работает ли правило peercred? (То есть, имеет ли `ldapsearch -H ldapi: // -Y EXTERNAL` доступ?) Что показывает` slapacl -b cn = config entry / read`?
grawity 8 лет назад
0
`ldapsearch -H lapi: // -Y EXTERNAL -x -b 'cn = config' '(objectclass = *)'` возвращает "ldapsearch: несовместимо с предыдущим выбором аутентификации". `slapacl -b cn = config entry / read` дает мне" slapacl: целевая база данных не поддерживает необходимые операции; вы можете попробовать с "-u" (пробный запуск). Добавление `-u` дает мне" доступ для чтения к записи : ОТКАЗАНО "
Hounddog 8 лет назад
0
О, я только что понял, что -х и -Y противоречивы. Удаление -x из команды ldapsearch снова дает мне «32 Нет такого объекта»
Hounddog 8 лет назад
0
Забыл упомянуть - сделайте поиск как root (так как ACL говорит uid 0).
grawity 8 лет назад
0
Да, все команды были запущены от имени пользователя root.
Hounddog 8 лет назад
0
1 ответ на вопрос
0
Hounddog
Оказывается, попытка использовать slaptest для генерации вашего каталога slapd.d, когда он уже полон, не генерирует новый. Мой пример slapd.conf, размещенный выше, на самом деле не был преобразован в slapd.d.
Как только я удалил slapd.d и снова запустил все, все было просто ужасно.