существующие значения индекса openldap

У меня есть база данных ldap, которая используется уже некоторое время. естественно он полон записей.

Недавно я пытался настроить индекс для uid, чтобы облегчить поиск, я добавил следующее в свой файл slapd.conf

include         /etc/openldap/schema/core.schema
database bdb
suffix "dc=domain,dc=net"
directory /var/lib/ldap
index uid eq,pres


Затем я запустил slapindex

slapindex -f /etc/openldap/slapd.conf -b "dc=jhc,dc=net" uid

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

olcDbIndex: uid pres,eq

. Затем я снова запустил slapindex и начал LDAP. Поиск uid теперь намного быстрее, но не дает мне результата по записям, которые уже находятся в базе данных, отображаются только новые записи, когда я выполняю ldapsearch и фильтрую uid, для справки поиск приведен ниже, но я убрал детали мой сервер ldap

ldapsearch  "cn=admin,dc=domain,dc=net" -b "cn=users,dc=domain,dc=net" "(uid=newuser)"

Чего мне не хватает, чтобы проиндексировать уже существующие записи?

0
задан 29 October 2021 в 13:37
1 ответ

Для всех, у кого возникла эта проблема, решение состоит в том, чтобы существенно перенести вашу БД и добавить новый атрибут индекса в файл config.ldif, для меня это было сделано путем запуска

slapcat -n 0 -l config.ldif
slapcat -n 2 -l data.ldif

Затем удалите файлы в /etc/openldap/ slapd.d и /usr/local/openldap/

Отредактируйте файл config.ldif и добавьте значение вашего индекса, если у вас есть другие значения индекса, просто скопируйте их для меня, это выглядело так

olcDbIndex uid eq

Последний шаг чтобы вернуть базу данных с двумя файлами ldif

slapadd -c -F /etc/openldap/slapd.d -n 0 -l config.ldif
slapadd -c -F /etc/openldap/slapd.d -n 2 -l data.ldif

Теперь вы сможете запустить ldap, убедитесь, что ваш пользователь ldap является владельцем папок openldap и их содержимого.

0
ответ дан 2 November 2021 в 07:11

Теги

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