Ключевые слова:ldap, aaa, auth, (найти похожие документы)
From: DebosH
Date: Mon, 20 Nov 2004 18:21:07 +0000 (UTC)
Subject: Адресная книга на LDAP за пять минут.
Оригинал: http://www.sngi.ru/~mos/address_book_ldap.html
Адресная книга на LDAP за пять минут.
Эта шпаргалка не претендует на какую либо замену официальной
документаци. RTFM - рулез форева, однако сие творение позволит быстро
настроить и запустить собственно адресную книгу общего пользования -
штуку довольно удобную. Ну а дальше уже можно обвешать все это дело
разными спецфигнями, типа авторизации etc.
Итак, Steb-by-step lamers LDAP adresbook guide :-) (шутка)
Качаем с http://www.openldap.org собственно LDAP сервер. Если хотите в
качестве backenda BerkleyDB, тогда качаем и его (http://www.sleepycat.com)
Надоть версию 4. Кого устроит gdbm - берем его. Меня устроило - ибо он
у меня уже был :). Итак, считаем, DB установлен.
OpenLDAP<version>.tar.gz лежит в /usr/src. Идем туда.
tar -zxvf ./OpenLDAP<version>.tar.gz
cd OpenLDAP<version>
./configure -help > conf.help
читаем получившийся файл, выбираем опции по вкусу
./configure <option>
у меня было:
./configure -with-prefix=/usr/local/openldap --enable-bdb=no \
--enable-ldbm --with-ldbm-api=gdbm -enable-debug
БерклейДБ запретил (он включен по умолчанию), ldbm разрешил, без
последнего демон не будет писать логи.
make depend
make
make test
su - root -c make install
Идем в /usr/local/openldap/etc, редактируем slapd.conf Для адресной
книги у меня
подключены три схемы:
include /usr/local/openldap/schema/core.schema
include /usr/local/openldap/schema/cosine.schema
include /usr/local/openldap/schema/inetorgperson.schema
затем обязательно надо сказать:
allow bind_v2 - по умолчанию поддерживается протокол V3, а на сколько
я понял , ни мышь, ни мозила по нему работать не умеют. Впрочем это
мое имхо, если я не прав - поправьте.
pdfile /var/lock/slapd.pid
argsfile /var/lock/slapd.args
loglevel -1 -в лог пишется ВСЯ отладочная информация.
database ldbm
suffix "o=MyOrganization,c=ru" - вместо MyOrganization поставьте, ну скажем, аббревиатуру своей.
rootdn "cn=admin, o=MyOrganization,c=ru " - фактически - учетная звпись администратора.
rootpw MyZuperSecretPassword - его пароль.
directory /usr/local/openldap/var/openldap-data - каталог, где буде база храниться.
index default pres, eq
Все, запускаем сервер -
/usr/local/openldap/sbin/slapd
Смотрим лог - в конце должно стоять что-то типа daemon started. Ага,
потираем руки, идем пить пиво.
Напимшись, делаем базу: создаем пустой текстовый файл
cd /usr/local/openldap/var/openldap-data
touch mybase.ldif
dn: o:myorganization,c=ru ; Описываем уникальный ключ корневого каталога
objectclass: dcobject ;Указываем, какие классы объектов доступны (т.е атрибуты каких
objectclass: organization ;классов можно описывать для этого каталога
o: myorganization ; Собственно описываем атрибуты
dc: myorganization ;o и c - сокращение атрибутов organization и country
dn: ou=users,o=sngi,c=ru
ou: users
objectclass: top ;указывает на родительские объекты (?)
objectclass: organizationalunit ;дочерний объект от organization
dn: cn=John S Doe,ou=users,o=myorganization,c=ru
objectclass:top
objectclass: organizationalperson
objectclass: inetorgperson
cn: John Doe ;Общее имя - их может быть несколько, тогда для кажлого - новая строка
mail: [email protected]
gn: John ; givenname - Имя
sn: Doe ; surname - Фамилия
Таким образом мы будем иметь следующую структуру каталогов:
корневой: myorganization.ru (/)
в корневом пока один: users.myorganization.ru (/users)
в users один пользователь: djohn doe.users.myorganization.ru (/users/john doe)
если вы не хотите пихать всех в одну структурную единицу - создайте
для каждого отдела свою:
dn: ou=cooladmin,o=sngi,c=ru
ou: cooladmin
objectclass: top ;указывает на родительские объекты (?)
objectclass: organizationalunit ;дочерний объект от organization
Теперь собственно создадим базу:
slapadd -f ./mybase.ldif -D "cn=admin.o=myorganization,c=ru" -W
-ппосле ключа -D идет УЗ админа, которую вы прописали в конфе
-W - запрос пароля, указанного там-же
Проверим:
ldapsearch -x -b "o=sngi,c=ru" "(objectclass=*)" -P 2
последнеий ключ -указываем протокол v2 (иначе Bat, например, не
работает)
Можно проверить Bat - создаем новую книгу, на вкладке LDAP прописываем
имя или адрес LDAP сервера, в базе поиска указываем
o=myorganization,c=ru
Жмем Ок и F7. Вводим в поле e-mail @. После некоторого раздумья
получим адын результат.
Все. Готово.
Настолько корявая статья что исправлять чуть ли не каждую строку надо, ошибки не только в синтаксисе но и команды местами не те совсем :)))) slapadd -f ./mybase.ldif -D "cn=admin.o=myorganization,c=ru" -W
вот это вообще смех...руки оторвать афтору
Зрячему достаточно указать путь и он найдет сваю цель, а слипой всегда будут просить чтобы его провадил. Путь есть дальше все в ваших руках а если вы гатовы провадить когота тогда дерзайте а ругайте провадника как последнии нубы.
"Ага, потираем руки, идем пить пиво." (писал админ ))) - после этих слов надо понимать что дальше главное суть которую и надо понять полагаясь не только на этот источник, а правильный синтаксис в манах к своей версии сервера найдете!
Автору зачет за маленький, но вклад! Хотите копипастить - меняйте пол на женский, обесцвечивайте волосы и пишите заявление о переходе на другую должность. Админ должен головой думать а не копипастить. А дотошные пусть сами пишут о своем опыте а не обсирают чужое изложение мыслей если им оно не нравится.