[Comm] настройка openldap

max =?iso-8859-1?q?alt_=CE=C1_zlt=2Eru?=
Пт Фев 18 10:31:52 MSK 2005


При настройке пользовался пакетом документации из дистр-а Мастер 2.4, система  
таже.

Цитирую:

"Для начала настроим сервер:

include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/misc.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/openldap.schema

pidfile        /var/run/slapd.pid
argsfile       /var/run/slapd.args

loglevel 512

database       ldbm
directory      /var/lib/ldap/base/example.com
password-hash  {MD5}

suffix         "dc=example,dc=com"
#rootdn         "cn=admin,dc=example,dc=com"
#rootpw         secret

access to attr=userPassword
  by dn=".*,ou=Admins,dc=example,dc=com"
  by anonymous auth
  by self write
  by * none
access to * by * read

index objectClass,uid,uidNumber,gidNumber     eq
index cn,mail,surname,givenname               eq,sub


После этого создадим пользователя ldap, от имени которого будет работать наш 
сервер и запустим процесс slapd следующей командой:



# slapd -u ldap -h 'ldap://127.0.0.1/ ldap//ldap.example.com/ 
ldaps://ldap.example.com'

Теперь можно создать базу данных — например, с помощью утилиты ldapadd или 
slapadd:

# ldapadd -xWD cn=admin,ou=Admins,dc=example,dc=com -H 
ldaps://ldap.altlinux.ru -f initial.ldif
или, если сервер не запущен: # slapadd -b dc=example,dc=com -l initial.ldif # 
chown ldap:ldap /var/lib/ldap/bases/example.com/*

Содержимое файла initial.ldif будет такое:

dn: dc=example,dc=com
objectClass: top
objectClass: organization
o: Exapmle Inc.
o: exapmle.com

dn: ou=Admins,dc=example,dc=com
objectClass: top
objectClass: organizationalUnit
ou: Admins
description: Administrators

dn: cn=admin,ou=Admins,dc=exapmle,dc=com
objectClass: top
objectClass: person
cn: admin
sn: Bender
givenName: Ostap
userPassword: secret
description: Our smart admin

dn: ou=People,dc=example,dc=com
objectClass: top
objectClass: organizationalUnit
ou: People
description: Stuff area

dn: uid=obender,ou=People,dc=example,dc=com
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
objectClass: inetOrgPerson
cn: Ostap Bender
sn: Bender
givenName: Ostap
uid: obender
uidNumber: 1000
gidNumber: 1000
homeDirectory: /home/obender
loginShell: /bin/bash
userPassword: {md5}$1$ION4SIII$EYyGEeYt4g2hEe9tjICac.
mail: obender на example.com
mail: obender на attiresandtoes.com

....

dn: ou=Groups,dc=example,dc=com
objectClass: top
objectClass: organizationalUnit
ou: Groups
description: Groups of users

dn: cn=obender,ou=Groups,dc=example,dc=com
objectClass: top
objectClass: posixGroup
cn: luser
gidNumber: 1000
description: Default group for users presented by LDAP"


Всё зделал как написано, только в конфиг пришлось добавить:
modulepath      /usr/lib/openldap
moduleload      back_ldbm.la
Иначе была ругань на неизветный ldbm.

При старте через service, slapd стартует только на ldap://127.0.0.1
запускал так:
slapd -u ldap -h 'ldap://127.0.0.1/ ldap//ldap.example.com/  
ldaps://127.0.0.1'

При выполнении
# ldapadd -xWD cn=admin,ou=Admins,dc=example,dc=com -H ldap://127.0.0.1 -f 
initial.ldif
спрашивает пароль, и какие бы я пароли туда не вводил ответ один:

ldap_bind: Invalid credentials (49)

при обращении к ldapS вылезает ошибка 
ldap_bind: Can't contact LDAP server (81)
        additional info: error:14077410:SSL 
routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

Если идти вторым путём, то после
slapadd -b dc=example,dc=com -l initial.ldif
получаю slapadd: could not open database

Как вылечить можно?
-- 
MaX


Подробная информация о списке рассылки community