OpenLDAP: преобразование плоского файла (slapd.conf) в OLC (slapd.d) ... невозможно получить доступ к cn = config

843
Hounddog

Я пытаюсь настроить OpenLDAP. У меня были проблемы с опцией конфигурации OLC, поэтому я пошел с вводом стиля slapd.conf, так как я полный нуб в LDAP, и это было легче понять.

Теперь у меня есть необходимость использовать опцию конфигурации OLC, поэтому я пытаюсь конвертировать. Я могу правильно конвертировать с помощью команды

slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d chown ldap:ldap -R /etc/openldap/slapd.d 

и все запускается и работает правильно, и все это чертовски дорого. Тем не менее, я не могу получить доступ 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, так что извините, если я задаю глупые вопросы.

0
Работает ли правило peercred? (То есть, имеет ли `ldapsearch -H ldapi: // -Y EXTERNAL` доступ?) Что показывает` slapacl -b cn = config entry / read`? grawity 7 лет назад 0
`ldapsearch -H lapi: // -Y EXTERNAL -x -b 'cn = config' '(objectclass = *)'` возвращает "ldapsearch: несовместимо с предыдущим выбором аутентификации". `slapacl -b cn = config entry / read` дает мне" slapacl: целевая база данных не поддерживает необходимые операции; вы можете попробовать с "-u" (пробный запуск). Добавление `-u` дает мне" доступ для чтения к записи : ОТКАЗАНО " Hounddog 7 лет назад 0
О, я только что понял, что -х и -Y противоречивы. Удаление -x из команды ldapsearch снова дает мне «32 Нет такого объекта» Hounddog 7 лет назад 0
Забыл упомянуть - сделайте поиск как root (так как ACL говорит uid 0). grawity 7 лет назад 0
Да, все команды были запущены от имени пользователя root. Hounddog 7 лет назад 0

1 ответ на вопрос

0
Hounddog

Оказывается, попытка использовать slaptest для генерации вашего каталога slapd.d, когда он уже полон, не генерирует новый. Мой пример slapd.conf, размещенный выше, на самом деле не был преобразован в slapd.d.

Как только я удалил slapd.d и снова запустил все, все было просто ужасно.

Похожие вопросы