Как узнать, какой Berkley DB Openldap ссылается на?

У меня есть два Беркли БД, установленных на RHEL 5.3. Теперь я запутался в том, что один openldap называет своим бэкэндом.

Ниже приводится slapd.conf:

include /usr/local/etc/openldap2-4-30/schema/core.schema
include /usr/local/etc/openldap2-4-30/schema/cosine.schema
include /usr/local/etc/openldap2-4-30/schema/inetorgperson.schema

**# Define global ACLs to disable default read access.**

**# Do not enable referrals until AFTER you have a working directory**
**# service AND an understanding of referrals.**                  

pidfile /usr/local/var/openldap2-4-30/run/slapd.pid
argsfile    /usr/local/var/openldap2-4-30/run/slapd.args

**# rootdn can always read and write EVERYTHING!**
access to *
    by self write
    by * read

#########################################
**# uniquely identifies this server**
#########################################
serverID 1

#######################################################################
**# BDB database definitions**
#######################################################################
database bdb
suffix "dc=COMPANY,dc=CP"
rootdn "cn=Manager,dc=COMPANY,dc=CP"

**# Cleartext passwords, especially for the rootdn, should**
**# be avoid. See slappasswd(8) and slapd.conf(5) for details.**
**# Use of strong authentication encouraged.**
rootpw secret   

**# The database directory MUST exist prior to running slapd AND**
**# should only be accessible by the slapd and slap tools.**
**# Mode 700 recommended.**
directory   /usr/local/var/openldap2-4-30/Master1/openldap-data

Пожалуйста, руководство, как я могу узнать, из каких установленных Беркли БД, openldap использует в качестве своего бэкэнда?

Примечание: этот вопрос связан с

slapd не работает

Благодарю вас.

4 ответа

Решение

Похоже, у вас должен быть только 1 корень, каждый новый корень содержит

database        bdb
suffix  "dc=limepepper,dc=org"
directory       /var/lib/ldap/mycompany.org

Тип блока.

Вы инициализировали новый рут?

Я думаю, вам нужно создать новый корневой файл ldif и импортировать эти записи на работающий сервер LDAP следующим образом;

# cat /home/myuser/mynewroot.ldif
dn: dc=COMPANY,dc=CP
objectclass: dcObject
objectclass: organization
o: COMPANY CP
dc: COMPANY

dn: cn=Manager,dc=COMPANY,dc=CP
objectclass: organizationalRole
cn: Manager

и затем импортируйте это на пустой сервер LDAP вот так;

# ldapadd -x -D "cn=Manager,dc=COMPANY,dc=CP" -W -f   /home/myuser/mynewroot.ldif

Здесь есть руководство по установке новых корней;
http://www.howtoforge.com/linux_openldap_setup_server_client

и еще несколько деталей о том, что вам нужно в минимальном корне здесь;
http://www.openldap.org/doc/admin22/dbtools.html

Кажется, вы смешивали несколько источников (как информационных, так и программных...), пока боролись с OpenLDAP. Моя рекомендация: начать все заново.

Для начала, если вы yum install openldap-serversВам абсолютно НЕ нужно загружать библиотеки BDB из сети, все настроено для вас.

Во-вторых, "стандартный" путь для файлов данных OpenLDAP /var/lib/ldap, Обычно вы не должны заботиться об этом, вы создаете LDIF файлы с текстовым редактором по вашему выбору, а затем использовать slapadd Команда для создания этих деревьев LDAP. После этого используйте стандартные утилиты LDAP, такие как Luma, gq, ldapsearch/ldapadd/ldapremove или ваш любимый язык программирования LDAP привязок.

Вот отличная электронная книга о (Open) LDAP, не пугайтесь названия.

Как насчет:

$ ldd <path-to-slapd> | grep libdb

?

База данных, которую использует OpenLDAP, находится по адресу /usr/local/var/openldap2-4-30/Master1/openldap-data,

Другие вопросы по тегам