Глава 17 Серверное программное обеспечение (Сервис баз данных) - OpenLDAP сервер
В этой главе
OpenLDAP сервер
Конфигурации
Организация защиты OpenLDAP
Утилиты создания и поддержки OpenLDAP
Утилиты пользователя OpenLDAP
Netscape Address Book клиент для LDAP
Linux сервер баз данных PostgreSQL
Создание и инсталляция базы данных из-под пользователя Postgres
Конфигурации
Команды
Linux OpenLDAP сервер
Краткий обзор.
Если мы говорим в этой книге о безопасности и оптимизации, то почему вдруг
возникает глава посвященная OpenLDAP? Сервер каталогов OpenLDAP
расширит ваши горизонты за счет использования его возможностей. Мы можем
использовать ее возможности дублирования для централизации и объединения
различной информации на одном сервере для всех других серверов нашей сети.
Представьте себе возможности добавления и отключения учетных записей Unix
или NT, установка доступа к Веб серверу для служебного использования,
добавление почтовых адресов и псевдонимов, все с единственной операцией
доступной как NIS сервис, с добавлением возможности SSL шифрования и
скоростью объектно-ориентированных иерархий. Другое интересное
использование – это создание надежного списка разработчиков на одном или
более LDAP серверов, доступ к которому может быть открыт из приватной сети
или из Интернет.
Как сказано на веб сервере OpenLDAP:
LDAP (Lightweight Directory Access Protocol) – это открытый протокол для
доступа к информационным сервисам. Он работает через транспортные
протоколы Интернет, такие как TCP, и может быть использован для доступа к
автономным серверам каталогов или каталогам X.500.
Эти инструкции предполагают.
Unix-совместимые команды.
Путь к исходным кодам “/var/tmp” (возможны другие варианты).
Инсталляция была проверена на Red Hat Linux 6.1 и 6.2.
Все шаги инсталляции осуществляются суперпользователем “root”.
OpenLDAP версии 1.2.10
Пакеты.
Домашняя страница OpenLDAP: http://www.openldap.org/
FTP сервер OpenLDAP: 204.152.186.57
Вы должны скачать: openldap-1.2.10.tgz
Тарболы.
Хорошей идеей будет создать список файлов установленных в вашей системе до
инсталляции OpenLDAP и после, в результате, с помощью утилиты diff вы
сможете узнать какие файлы были установлены. Например,
До инсталляции:
find /* > OpenLDAP1
После инсталляции:
find /* > OpenLDAP2
Для получения списка установленных файлов:
diff OpenLDAP1 OpenLDAP2 > OpenLDAP-Installed
Раскройте тарбол:
[root@deep /]# cp openldap-version.tgz /var/tmp
[root@deep /]# cd /var/tmp/
[root@deep tmp]# tar xzpf openldap-version.tgz
Компиляция и оптимизация.
Перейдите в новый OpenLDAP каталог и введите следующие команды на вашем
терминале:
Шаг 1
Важно заметить, что вы можете настроить три различных вида баз данных на
использование с LDAP. Высокопроизводительная, с памятью на диске база
данных “LDBM”; интерфейс базы данных к произвольным UNIX командам или
shell скриптам, называемый “SHELL”; и простейшая база данных используемая
в файле паролей “PASSWD”.
По умолчанию OpenLDAP подразумевает использование базы данных
LDBM,так что если вы хотите настроиться на другой тип базы данных, вы
должны при инсталляции определить ее. Для SHELL вы должны добавить
опцию “--enable-shell”, а для PASSWD (используется как замена сервису NIS) -
“--enable-passwd”.
CC="egcs" \
CFLAGS="-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions -D_REENTRANT" \
./configure \
--prefix=/usr \
--libexecdir=/usr/sbin \
--localstatedir=/var/run \
--sysconfdir=/etc \
--enable-dns \
--enable-shared \
--with-gnu-ld \
--disable-debug
Эти опции настраивают OpenLDAP на следующее:
- включить поддержку dns.
- создавать совместно используемые библиотеки.
- предполагаем, что компилятор C использует GNU ld.
ЗАМЕЧАНИЕ. Опции компиляции предложенные выше предполагают
использование базы данных LDBM. Для других типов баз данных используйте
соответствующие опции, описанные выше.
Шаг 2
Сейчас мы должны скомпилировать и инсталлировать OpenLDAP на сервере:
[root@deep openldap-1.2.10]# make depend
[root@deep openldap-1.2.10]# make
[root@deep openldap-1.2.10]# cd tests/
[root@deep tests]# make
[root@deep tests]# cd ..
[root@deep openldap-1.2.10]# make install
Команда "make depend" будет создавать необходимые зависимости для
различных файлов, “make” компилирует все файлы с исходными кодами в
исполняемые двоичные файлы и затем “make install” инсталлирует
исполняемые файлы и файлы поддержки в необходимые каталоги.
Команда “make” в подкаталоге “/test” будет делать некоторые важные тесты для
проверки функциональности вашего LDAP сервера перед инсталляцией. Если
некоторые тесты закончатся ошибкой, вам необходимо исправить их перед
продолжением инсталляции.
[root@deep openldap-1.2.10]# install -d -m 700 /var/ldap
[root@deep openldap-1.2.10]# echo localhost > /etc/openldap/ldapserver
[root@deep openldap-1.2.10]# strip /usr/lib/liblber.so.1.0.0
[root@deep openldap-1.2.10]# strip /usr/lib/libldap.so.1.0.0
[root@deep openldap-1.2.10]# strip /usr/lib/libldap.a
[root@deep openldap-1.2.10]# strip /usr/lib/liblber.a
[root@deep openldap-1.2.10]# strip /usr/sbin/in.xfingerd
[root@deep openldap-1.2.10]# strip /usr/sbin/go500
[root@deep openldap-1.2.10]# strip /usr/sbin/go500gw
[root@deep openldap-1.2.10]# strip /usr/sbin/mail500
[root@deep openldap-1.2.10]# strip /usr/sbin/rp500
[root@deep openldap-1.2.10]# strip /usr/sbin/rcpt500
[root@deep openldap-1.2.10]# strip /usr/sbin/fax500
[root@deep openldap-1.2.10]# strip /usr/sbin/slapd
[root@deep openldap-1.2.10]# strip /usr/sbin/slurpd
[root@deep openldap-1.2.10]# strip /usr/sbin/ldif
[root@deep openldap-1.2.10]# strip /usr/sbin/ldif2ldbm
[root@deep openldap-1.2.10]# strip /usr/sbin/ldif2index
[root@deep openldap-1.2.10]# strip /usr/sbin/ldif2id2entry
[root@deep openldap-1.2.10]# strip /usr/sbin/ldif2id2children
[root@deep openldap-1.2.10]# strip /usr/sbin/ldbmcat
[root@deep openldap-1.2.10]# strip /usr/sbin/ldbmtest
[root@deep openldap-1.2.10]# strip /usr/sbin/centipede
[root@deep openldap-1.2.10]# strip /usr/bin/ud
[root@deep openldap-1.2.10]# strip /usr/bin/ldapadd
[root@deep openldap-1.2.10]# strip /usr/bin/ldapsearch
[root@deep openldap-1.2.10]# strip /usr/bin/ldapmodify
[root@deep openldap-1.2.10]# strip /usr/bin/ldapmodrdn
[root@deep openldap-1.2.10]# strip /usr/bin/ldappasswd
[root@deep openldap-1.2.10]# strip /usr/bin/ldapdelete
Команда “install” будет создавать новый каталог с именем “ldap” в каталоге
“/var” и установит режим доступа к нему чтение, запись и исполнение только
для суперпользователя “root” (700) из соображений безопасности.
Команда “strip” будет удалять все символы из объектных файлов. Это
необходимо, чтобы сделать исполняемые файлы меньшего размера.
Очистка после работы
[root@deep /]# cd /var/tmp
[root@deep tmp]# rm -rf openldap-version/ openldap-version.tgz
Команды “rm” будет удалять все файлы с исходными кодами, которые мы
использовали при компиляции и инсталляции OpenLDAP. Также будет удален
сжатый архив OpenLDAP из каталога “/var/tmp”.
Все программное обеспечение, описанное в книге, имеет определенный каталог
и подкаталог в архиве “floppy.tgz”, включающей все конфигурационные файлы
для всех программ. Если вы скачаете этот файл, то вам не нужно будет вручную
воспроизводить файлы из книги, чтобы создать свои файлы конфигурации.
Скопируйте файлы связанные с OpenLDAP из архива, измените их под свои
требования и поместите в нужное место так, как это описано ниже. Файл с
конфигурациями вы можете скачать с адреса:
http://www.openna.com/books/floppy.tgz
Для запуска OpenLDAP сервера следующие файлы должны быть созданы или
скопированы в нужный каталог:
Копируйте файл slapd.conf в каталог “/etc/openldap/”.
Копируйте файл ldap в каталог “/etc/rc.d/init.d/”.
Вы можете взять эти файлы из нашего архива floppy.tgz.
Конфигурация файла “/etc/ldap/slapd.conf”
Файл “/etc/openldap/slapd.conf” это основной конфигурационный файл для
автономного LDAP демона. Все опции: права доступа, пароль, тип базы данных,
месторасположение базы данных и прочие могут быть настроены в нем и
применены к демону “slapd”. Нижеприведенный пример настраивает файл
“slapd.conf” на использование базы данных LDBM.
Редактируйте файл slapd.conf (vi /etc/openldap/slapd.conf) и добавьте/измените
следующую информацию:
#
# Смотрите slapd.conf(5) для деталей о конфигурационных опциях.
# Этот файл не должен быть доступен для чтения всем пользователям.
#
include /etc/openldap/slapd.at.conf
include /etc/openldap/slapd.oc.conf
schemacheck off
#referral ldap://ldap.itd.umich.edu
pidfile /var/run/slapd.pid
argsfile /var/run/slapd.args
#####################################################################
##
# определения базы данных ldbm
#####################################################################
##
database ldbm
suffix "o=openna, c=com"
directory /var/ldap
rootdn "cn=admin, o=openna, c=com"
rootpw secret
# избегайте использование пароля записанного открытым текстом, особенно
# для пользователя rootdn. Смотрите slapd.conf(5) для деталей.
# определение индексируемых атрибутов ldbm
index cn,sn,uid
index objectclass pres,eq
index default none
# определение прав доступа к ldbm
defaultaccess read
access to attr=userpassword
by self write
by dn="cn=admin, o=openna, c=com" write
by * compare
Вы должны убедиться, что установили следующие опции в вашем файле
“slapd.conf” перед запуском демона slapd:
suffix “o=openna, c=com”
Эта опция определяет DN (отличительное имя) корня поддерева, которое вы
пытаетесь создать. Другими словами, это показывает какие элементы должны
храниться в этой базе данных.
directory /var/ldap
Эта опция определяет каталог, где должны размещаться база данных и
соответствующие индексные файлы LDAP. Мы должны установить этот
параметр в “/var/ldap”, потому что мы создали этот каталог на более ранней
стадии инсталляции специально для этих целей.
rootdn "cn=admin, o=openna, c=com"
Эта опция определяет DN (отличительное имя) элемента, которому разрешено
делать все, что угодно в каталоге LDAP. Имя введенное здесь может
фактически не существовать в файле “/etc/passwd”.
rootpw secret
Эта опция определяет пароль, который может использоваться для
аутентификации элемента "super-user" базы данных. Это пароль для опции
rootdn определенной выше. Важно не использовать пароли, записанные
открытым текстом, а использовать вместо них шифрованные пароли.
index cn,sn,uid | index objectclass pres,eq | index default none
Эти опции определяет индексные определения, которые вы хотите создать и
управлять в определении базы данных. Параметры, которые мы определили в
нашем “slapd.conf” файле, указывают поддерживать индексы для атрибутов cn,
sn и uid (index cn,sn,uid), индексы наличия и эквивалентности для атрибута
objectclass (index objectclass pres,eq), и не создавать индексы для всех остальных
атрибутов (index default none). Смотрите руководство пользователя для большей
информации.
Последние опции в файле “slapd.conf” связаны с контролем доступа к каталогу
LDAP.
defaultaccess read
access to attr=userpassword
by self write
by dn="cn=admin, o=openna, c=com" write
by * compare
Этот пример применяется для элементов в поддереве "o=openna, c=com".
Доступ на чтение разрешается всем, и сам элемент может записывать все свои
атрибуты, исключая userpassword. Атрибут userpassword может быть записан
только определенным элементом (admin), и сопоставим всеми. Смотрите ваше
руководство пользователя для получения большей информации.
Конфигурация скрипта “/etc/rc.d/init.d/ldap”
Настроим ваш скрипт “/etc/rc.d/init.d/ldap” для старта и остановки LDAP сервера.
Создайте скрипт ldap (touch /etc/rc.d/init.d/ldap) и добавьте в него:
#!/bin/sh
#
# ldap Это shell скрипт script заботящийся о запуске и остановке
# сервера ldap (slapd и slurpd).
#
# chkconfig: - 70 40
# описание: LDAP (Lightweight Directory Access Protocol) используется
# для реализации индустриального стандарта службы каталогов.
# имя процесса: slapd
# конфигурационный файл: /etc/openldap/slapd.conf
# pid файл: /var/run/slapd.pid
# библиотека исходных функций.
. /etc/rc.d/init.d/functions
# Исходная сетевая конфигурация.
. /etc/sysconfig/network
# Проверка, что сеть работает.
[ ${NETWORKING} = "no" ] && exit 0
[ -f /usr/sbin/slapd ] || exit 0
[ -f /usr/sbin/slurpd ] || exit 0
RETVAL=0
# See how we were called.
case "$1" in
start)
# Запуск демонов.
echo -n "Starting ldap: "
daemon slapd
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
if grep -q "^replogfile" /etc/openldap/slapd.conf; then
daemon slurpd
RETVAL=$?
[ $RETVAL -eq 0 ] && pidof slurpd | cut -f 1 -d " " > /var/run/slurpd
fi
fi
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/ldap
;;
stop)
# Остановка демонов.
echo -n "Shutting down ldap: "
killproc slapd
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
if grep -q "^replogfile" /etc/openldap/slapd.conf; then
killproc slurpd
RETVAL=$?
fi
fi
echo
if [ $RETVAL -eq 0 ]; then
rm -f /var/lock/subsys/ldap
rm -f /var/run/slapd.args
fi
;;
status)
status slapd
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
if grep -q "^replogfile" /etc/openldap/slapd.conf; then
status slurpd
RETVAL=$?
fi
fi
;;
restart)
$0 stop
$0 start
RETVAL=$?
;;
reload)
killproc -HUP slapd
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
if grep -q "^replogfile" /etc/openldap/slapd.conf; then
killproc -HUP slurpd
RETVAL=$?
fi
fi
;;
*)
echo "Usage: $0 start|stop|restart|status}"
exit 1
esac
exit $RETVAL
Сейчас, сделаем этот скрипт исполняемым и изменим права доступа:
[root@deep /]# chmod 700 /etc/rc.d/init.d/ldap
Создадим символическую rc.d ссылку для OpenLDAP командой:
[root@deep /]# chkconfig --add ldap
Скрипт OpenLDAP не будет автоматически стартовать демон slapd, когда вы
перезагружаете сервер. Вы можете изменить это выполнив команду:
[root@deep /]# chkconfig --level 345 ldap on
Запустите сервер OpenLDAP вручную следующей командой:
[root@deep /]# /etc/rc.d/init.d/ldap start
Starting ldap: [ OK ]
Иммунизация важнейших конфигурационных файлов
Бит постоянства может быть использован для предотвращения случайного
удаления или переписывания защищаемых файлов. Он также предотвращает
возможность создания символических ссылок к этим файлам. После того как
ваш файл “slapd.conf” настроен, можно его иммунизировать следующей
командой:
[root@deep /]# chattr +i /etc/openldap/slapd.conf
Дополнительная документация
Для получения большей информации, вы можете прочитать несколько страниц
руководства:
$ man ldapd (8) – демон LDAP X.500 протокла
$ man ldapdelete (1) – утилита для удаления элементов ldap
$ man ldapfilter.conf (5) – конфигурационный файл для LDAP осуществляющий фильтр операций
$ man ldapfriendly (5) – файл данных для дружественных операций LDAP
$ man ldapmodify, ldapadd (1) – утилита для изменения и добавления элементов ldap
$ man ldapmodrdn (1) - RDN утилита для модификации элементов ldap
$ man ldappasswd (1) – изменения пароля элементов LDAP
$ man ldapsearch (1) – утилита поиска ldap
$ man ldapsearchprefs.conf (5) – конфигурационный файл для поиска предпочтительных операций LDAP
$ man ldaptemplates.conf (5) – конфигурационный файл для операций отображения образцов LDAP
$ man ldif (5) - LDAP Data Interchange Format
$ man slapd (8) – автономный демон LDAP
$ man slapd.conf (5) – конфигурационный файл для slapd, автономного демона LDAP
$ man slurpd (8) – автономный LDAP Update Replication Daemon
$ man ud (1) – интерактивная программа запросов к серверу каталогов LDAP
Создание базы данных LDMB
Есть два метода создания базы данных для LDAP, первый оффлайновый с
помощью утилиты “ldif2ldbm” и второй онлайновый при помощи утилиты
“ldapadd”. Обычно, вы будете использовать оффлайновый метод, когда вы
хотите добавить несколько тысяч элементов в вашу базу данных и онлайновый,
когда надо добавить небольшое число элементов. Также важно заметить, что
оффлайновый метод требует, чтобы ваш “slapd” демон не был запущен, а
онлайновый требует работы “slapd” демона.
Создание базы данных LDMB оффлайновым методом при помощи
утилиты “ldif2ldbm”
Первое, что вы должны сделать это создать входной файл LDIF содержащий
текстовое представление ваших элементов. Текстовый файл, именуемый “my-
data-file”, может быть использован как пример (конечно, ваш реальный входной
LDIF файл будет содержать много больше информации). Когда вы
инсталлируете OpenLDAP первый раз и имеете много элементов, которые
нужно положить в базу данных, всегда будет хорошей идеей положить всю эту
информацию в текстовый файл и добавить ее в вашу базу данных при помощи
утилиты “ldif2ldbm”.
Шаг 1
Создайте файл my-data-file (touch /tmp/my-data-file) и добавьте в него,
например, следующие строки:
dn: o=openna, c=com
o: openna
objectclass: organization
dn: cn=Gerhard Mourani, o=openna, c=com
cn: Gerhard Mourani
sn: Mourani
mail: gmourani@videotron.ca
title: Author
objectclass: person
dn: cn=Anthony Bay, o=openna, c=com
cn: Anthony Bay
sn: Bay
homephone: (444) 111-2233
mobile: (444) 555-6677
mail: abay@openna.com
objectclass: person
dn: cn=George Parker, o=openna, c=com
cn: George Parker
sn: Parker
telephonenumber: (555) 234-5678
fax: (543) 987-6543
mobile: (543) 321-4354
description: E-Commerce
objectclass: person
Вышеприведенный пример показывает вам как конвертирует вашу информацию
в LDIF файлы перед добавлением ее в ваш новый каталог. Консультируйтесь с
вашей OpenLDAP документацией или книгой для получения большей
информации.
Шаг 2
Как только входной LDIF файл содержащий все элементы создан, мы можем
добавить их в наш LDAP сервер каталогов. Для этого используйте следующую
команду:
[root@deep tmp]# ldif2ldbm -i <inputfile> -f <slapdconfigfile>
[root@deep tmp]# ldif2ldbm -i my-data-file -f /etc/openldap/slapd.conf
Опция “-i” с опцией <inputfile> оперделяет месторасположения LDIF файла.
Опция <slapdconfigfile> задает месторасположение конфигурационного файла
slapd, который определяет где создавать индексы, какие индексы создавать и
т.д.
ЗАМЕЧАНИЕ. Важно заметить, что при этом режиме создания демон “slapd”не
должен быть запущен.
Создание базы данных LDMB онлайновым методом при помощи утилиты
“ldapadd”
Если элементы в вашем сервере каталогов уже созданы или вы хотите добавить
небольшое количество информации в вашу базу данных, то вы можете
предпочесть использовать утилиту “ldapadd”, чтобы выполнить вашу работу
онлайн. Например, чтобы добавить элемент “Europe Mourani” используя
утилиту “ldapadd”, вы должны создать файл, называемый “newentry” в каталоге
“/tmp”.
Шаг 1
Создайте файл newentry (touch /tmp/newentry) и добавьте в него следующие
строки:
cn=Europe Mourani, o=openna, c=com
cn=Europe Mourani
sn=Mourani
mail=emourani@old.com
description=Marketing relation
objectClass=person
Шаг 2
После того, как файл “newentry” создан, мы должны добавить элемены в сервер
каталогов LDAP. Для этого используйте следующую команду:
[root@deep /]# ldapadd -f /tmp/newentry -D "cn=admin, o=openna, c=com" -W
Enter LDAP Password :
Вышеприведенная команда подразумевает что вы установили rootdn в
"cn=admin, o=openna, c=com" и rootpw в "secret". Вам будет предложено ввести
пароль.
ЗАМЕЧАНИЕ. Важно заметить, что во время использования этой утилиты
демон “slapd” должен быть запущен.
ldapmodify
В отличие от реляционных баз данных, где данные постоянно изменяются,
сервер каталогов содержит информацию, которая единожды введенная
изменяется редко. Но иногда, вам все же приходится модифицировать данные, и
в этом вам может помочь утилита “ldapmodify”. Она позволяет вам добавлять и
модифицировать элементы хранящиеся на сервере каталогов.
Допустим что мы хотим заменить содержимое элемента “Europe Mourani”
атрибут почты на новое значение “emourani@new.com”, для этого нам
понадобятся следующие шаги:
Шаг 1
Создаем файл modifyentry (touch /tmp/modifyentry) и добавляем в него
следующее содержимое:
cn=Europe Mourani, o=openna, c=com
- mail=emourani@old.com # будет удален старый почтовый адрес для Europe Mourani из базы данных.
+mail=emourani@new.com # будет добавлен новый почтовый адрес для Europe Mourani в базу данных.
Шаг 2
После создания файла “modifyentry”, мы должны заменить элемнты каталога
LDAP сервера в соответствии с содержимым этого файла. Это делается
следующей командой:
[root@deep /]# ladpmodify -D ‘cn=Admin, o=openna, c=com’ -W -f <inputfile>
[root@deep /]# ladpmodify -D ‘cn=Admin, o=openna, c=com’ -W -f modifyentry
где <inputfile> - имя файла “modifyentry”, который был создан на шаге 1.
Поиск элемента на сервере каталогов LDAP
Утилита ldapsearch ищет в базе данных каталога LDAP информацию, которую
вы запрашиваете.
Искать в каталоге LDAP элемент, используя команду:
[root@deep /]# ldapsearch -b ‘dn’ ‘attrs’
[root@deep /]# ldapsearch -b ‘o=openna, c=com’ ‘cn=europe*’
cn=Europe Mourani, o=openna, c=com
cn=Europe Mourani
sn=Mourani
mail=emourani@old.com
description=Marketing relation
objectClass=person
Эта команда будет возвращать все элементы и значения с именем europe и
будет выводить результаты в стандартный вывод вашего терминала.
Некоторые возможны варианты использования OpenLDAP
OpenLDAP может использоваться как:
- Сервер веб каталога.
- Сервер белых страниц.
- Сертификационный сервер.
- Сервер контроля доступа.
- Сетевой сервер имен.
Если вы имеете Netscape проинсталлированный на вашей Linux системе или
любой другой операционной системе, то вы можете использовать его
возможности Address Book для доступа к серверу каталогов LDAP, только что
установленной на вашем Linux и запросить ваш сервер каталогов об
информации подобной той, что вы получали используя команду “ldapsearch”.
Если вы интересуетесь как сделать это, то следуйте по шагам описанным ниже:
- Открыть Netscape Communicator
- Перейти в меню Communicator
- Открыть Address Book
- Перейти в меню File
- Кликнуть на New Directory …
- Заполнить поля вашей информацией о сервере
Например:
- Описание: Open Network Architecture
- LDAP сервер: 208.164.186.3
- Корень сервера: o=openna, c=com
Сейчас вы сделаи все, что нужно, чтобы иметь возможность создавать запросы
к вашему серверу каталогов LDAP на Linux, используя блок с именем “Show
names Containing:” для запуска поиска и кликните на кнопке “Search For:” для
получения результатов.
Инсталлированные файлы
> /etc/openldap
> /etc/openldap/ldap.conf
> /etc/openldap/ldap.conf.default
> /etc/openldap/ldapfilter.conf
> /etc/openldap/ldapfilter.conf.default
> /etc/openldap/ldaptemplates.conf
> /etc/openldap/ldaptemplates.conf.default
> /etc/openldap/ldapsearchprefs.conf
> /etc/openldap/ldapsearchprefs.conf.default
> /etc/openldap/slapd.conf
> /etc/openldap/slapd.conf.default
> /etc/openldap/slapd.at.conf
> /etc/openldap/slapd.at.conf.default
> /etc/openldap/slapd.oc.conf
> /etc/openldap/slapd.oc.conf.default
> /etc/openldap/ldapserver
> /etc/rc.d/init.d/ldap
> /etc/rc.d/rc0.d/K40ldap
> /etc/rc.d/rc1.d/K40ldap
> /etc/rc.d/rc2.d/K40ldap
> /etc/rc.d/rc3.d/S70ldap
> /etc/rc.d/rc4.d/S70ldap
> /etc/rc.d/rc5.d/S70ldap
> /etc/rc.d/rc6.d/K40ldap
> /usr/bin/ud
> /usr/bin/ldapsearch
> /usr/bin/ldapmodify
> /usr/bin/ldapdelete
> /usr/bin/ldapmodrdn
> /usr/bin/ldappasswd
> /usr/bin/ldapadd
> /usr/include/ldap.h
> /usr/include/lber.h
> /usr/include/ldap_cdefs.h
> /usr/include/disptmpl.h
> /usr/include/srchpref.h
> /usr/lib/liblber.so.1.0.0
> /usr/lib/liblber.so.1
> /usr/lib/liblber.so
> /usr/lib/liblber.la
> /usr/lib/liblber.a
> /usr/lib/libldap.so.1.0.0
> /usr/lib/libldap.so.1
> /usr/lib/libldap.so
> /usr/lib/libldap.la
> /usr/lib/libldap.a
> /usr/man/man1/ud.1
> /usr/man/man1/ldapdelete.1
> /usr/man/man1/ldapmodify.1
> /usr/man/man1/ldapadd.1
> /usr/man/man1/ldapmodrdn.1
> /usr/man/man1/ldappasswd.1
> /usr/man/man1/ldapsearch.1
> /usr/man/man3/cldap_close.3
> /usr/man/man3/cldap_open.3
> /usr/man/man3/cldap_search_s.3
> /usr/man/man3/cldap_setretryinfo.3
> /usr/man/man3/lber-decode.3
> /usr/man/man3/lber-encode.3
> /usr/man/man3/ldap_open.3
> /usr/man/man3/ldap_errlist.3
> /usr/man/man3/ldap_err2string.3
> /usr/man/man3/ldap_first_attribute.3
> /usr/man/man3/ldap_next_attribute.3
> /usr/man/man3/ldap_first_entry.3
> /usr/man/man3/ldap_next_entry.3
> /usr/man/man3/ldap_count_entries.3
> /usr/man/man3/ldap_friendly.3
> /usr/man/man3/ldap_friendly_name.3
> /usr/man/man3/ldap_free_friendlymap.3
> /usr/man/man3/ldap_get_dn.3
> /usr/man/man3/ldap_explode_dn.3
> /usr/man/man3/ldap_explode_dns.3
> /usr/man/man3/ldap_dn2ufn.3
> /usr/man/man3/ldap_is_dns_dn.3
> /usr/man/man3/ldap_get_values.3
> /usr/man/man3/ldap_get_values_len.3
> /usr/man/man3/ldap_value_free.3
> /usr/man/man3/ldap_value_free_len.3
> /usr/man/man3/ldap_count_values.3
> /usr/man/man3/ldap_count_values_len.3
> /usr/man/man3/ldap_getfilter.3
> /usr/man/man3/ldap_init_getfilter.3
> /usr/man/man3/ldap_init_getfilter_buf.3
> /usr/man/man3/ldap_getfilter_free.3
> /usr/man/man3/ldap_getfirstfilter.3
> /usr/man/man3/ldap_getnextfilter.3
> /usr/man/man3/ldap_setfilteraffixes.3
> /usr/man/man3/ldap_build_filter.3
> /usr/man/man3/ldap_modify.3
> /usr/man/man3/ldap_modify_s.3
> /usr/man/man3/ldap_mods_free.3
> /usr/man/man3/ldap_modrdn.3
> /usr/man/man3/ldap_modrdn_s.3
> /usr/man/man3/ldap_modrdn2.3
> /usr/man/man3/ldap_modrdn2_s.3
> /usr/man/man3/ldap_init.3
> /usr/man/man3/ldap_result.3
> /usr/man/man3/ldap_msgfree.3
> /usr/man/man3/ldap_search.3
> /usr/man/man3/ldap_search_s.3
> /usr/man/man3/ldap_search_st.3
> /usr/man/man3/ldap_searchprefs.3
> /usr/man/man3/ldap_init_searchprefs.3
> /usr/man/man3/ldap_init_searchprefs_buf.3
> /usr/man/man3/ldap_free_searchprefs.3
> /usr/man/man3/ldap_first_searchobj.3
> /usr/man/man3/ldap_next_searchobj.3
> /usr/man/man3/ldap_sort.3
> /usr/man/man3/ldap_sort_entries.3
> /usr/man/man3/ldap_sort_values.3
> /usr/man/man3/ldap_sort_strcasecmp.3
> /usr/man/man3/ldap_ufn.3
> /usr/man/man3/ldap_ufn_search_s.3
> /usr/man/man3/ldap_ufn_search_c.3
> /usr/man/man3/ldap_ufn_search_ct.3
> /usr/man/man3/ldap_ufn_setprefix.3
> /usr/man/man3/ldap_ufn_setfilter.3
> /usr/man/man3/ldap.3
> /usr/man/man3/cldap.3
> /usr/man/man3/ldap_abandon.3
> /usr/man/man3/ldap_add.3
> /usr/man/man3/ldap_add_s.3
> /usr/man/man3/ldap_bind.3
> /usr/man/man3/ldap_bind_s.3
> /usr/man/man3/ldap_simple_bind.3
> /usr/man/man3/ldap_simple_bind_s.3
> /usr/man/man3/ldap_kerberos_bind_s.3
> /usr/man/man3/ldap_kerberos_bind1.3
> /usr/man/man3/ldap_kerberos_bind1_s.3
> /usr/man/man3/ldap_kerberos_bind2.3
> /usr/man/man3/ldap_kerberos_bind2_s.3
> /usr/man/man3/ldap_unbind.3
> /usr/man/man3/ldap_unbind_s.3
> /usr/man/man3/ldap_set_rebind_proc.3
> /usr/man/man3/ldap_cache.3
> /usr/man/man3/ldap_enable_cache.3
> /usr/man/man3/ldap_disable_cache.3
> /usr/man/man3/ldap_destroy_cache.3
> /usr/man/man3/ldap_flush_cache.3
> /usr/man/man3/ldap_uncache_entry.3
> /usr/man/man3/ldap_uncache_request.3
> /usr/man/man3/ldap_set_cache_options.3
> /usr/man/man3/ldap_charset.3
> /usr/man/man3/ldap_set_string_translators.3
> /usr/man/man3/ldap_enable_translation.3
> /usr/man/man3/ldap_translate_from_t61.3
> /usr/man/man3/ldap_translate_to_t61.3
> /usr/man/man3/ldap_t61_to_8859.3
> /usr/man/man3/ldap_8859_to_t61.3
> /usr/man/man3/ldap_compare.3
> /usr/man/man3/ldap_compare_s.3
> /usr/man/man3/ldap_delete.3
> /usr/man/man3/ldap_delete_s.3
> /usr/man/man3/ldap_disptmpl.3
> /usr/man/man3/ldap_init_templates.3
> /usr/man/man3/ldap_init_templates_buf.3
> /usr/man/man3/ldap_free_templates.3
> /usr/man/man3/ldap_first_disptmpl.3
> /usr/man/man3/ldap_next_disptmpl.3
> /usr/man/man3/ldap_oc2template.3
> /usr/man/man3/ldap_tmplattrs.3
> /usr/man/man3/ldap_first_tmplrow.3
> /usr/man/man3/ldap_next_tmplrow.3
> /usr/man/man3/ldap_first_tmplcol.3
> /usr/man/man3/ldap_next_tmplcol.3
> /usr/man/man3/ldap_entry2text.3
> /usr/man/man3/ldap_entry2text_search.3
> /usr/man/man3/ldap_vals2text.3
> /usr/man/man3/ldap_entry2html.3
> /usr/man/man3/ldap_entry2html_search.3
> /usr/man/man3/ldap_vals2html.3
> /usr/man/man3/ldap_error.3
> /usr/man/man3/ldap_perror.3
> /usr/man/man3/ld_errno.3
> /usr/man/man3/ldap_result2error.3
> /usr/man/man3/ldap_ufn_timeout.3
> /usr/man/man3/ldap_url.3
> /usr/man/man3/ldap_is_ldap_url.3
> /usr/man/man3/ldap_url_parse.3
> /usr/man/man3/ldap_free_urldesc.3
> /usr/man/man3/ldap_url_search.3
> /usr/man/man3/ldap_url_search_s.3
> /usr/man/man3/ldap_url_search_st.3
> /usr/man/man5/ldap.conf.5
> /usr/man/man5/ldapfilter.conf.5
> /usr/man/man5/ldapfriendly.5
> /usr/man/man5/ldapsearchprefs.conf.5
> /usr/man/man5/ldaptemplates.conf.5
> /usr/man/man5/ldif.5
> /usr/man/man5/slapd.conf.5
> /usr/man/man5/slapd.replog.5
> /usr/man/man5/ud.conf.5
> /usr/man/man8/centipede.8
> /usr/man/man8/chlog2replog.8
> /usr/man/man8/edb2ldif.8
> /usr/man/man8/go500.8
> /usr/man/man8/go500gw.8
> /usr/man/man8/in.xfingerd.8
> /usr/man/man8/ldapd.8
> /usr/man/man8/ldbmcat.8
> /usr/man/man8/ldif.8
> /usr/man/man8/ldif2ldbm.8
> /usr/man/man8/ldif2index.8
> /usr/man/man8/ldif2id2entry.8
> /usr/man/man8/ldif2id2children.8
> /usr/man/man8/mail500.8
> /usr/man/man8/fax500.8
> /usr/man/man8/rcpt500.8
> /usr/man/man8/slapd.8
> /usr/man/man8/slurpd.8
> /usr/sbin/ldif
> /usr/sbin/in.xfingerd
> /usr/sbin/go500
> /usr/sbin/go500gw
> /usr/sbin/mail500
> /usr/sbin/rp500
> /usr/sbin/fax500
> /usr/sbin/xrpcomp
> /usr/sbin/rcpt500
> /usr/sbin/slapd
> /usr/sbin/ldif2ldbm
> /usr/sbin/ldif2index
> /usr/sbin/ldif2id2entry
> /usr/sbin/ldif2id2children
> /usr/sbin/ldbmcat
> /usr/sbin/centipede
> /usr/sbin/ldbmtest
> /usr/sbin/slurpd
> /usr/share/openldap
> /usr/share/openldap/ldapfriendly
> /usr/share/openldap/go500gw.help
> /usr/share/openldap/rcpt500.help
> /var/ldap |