Как узнать, какой 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 использует в качестве своего бэкэнда?
Примечание: этот вопрос связан с
Благодарю вас.
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, не пугайтесь названия.
База данных, которую использует OpenLDAP, находится по адресу /usr/local/var/openldap2-4-30/Master1/openldap-data
,