У меня на RHEL 5.3 установлено два БД Berkeley. Теперь я смущен тем, что 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
Пожалуйста, расскажите, как я могу узнать, из каких установленных БД Berkeley openldap использует в качестве бэкэнда?
Примечание: этот вопрос связан с
Благодарю вас.
Похоже, у вас должен быть только 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
.