Прошу помощи или хотя бы указания направления движения в настройке OpenLDAP.
Поставлена задача завести на предприятии службу LDAP. Предпосылки есть - почти сотня отдельных площадок, несколько сотен юзеров, соответственно, даже банальное поддержание актуальной адресной книги превращается в проблему. Впрочем, причины не обсуждаются - задача есть.
Есть машина под управлением CentOS 6 - вполне рабочая. Сейчас она используется мной как рабочая станция, в перспективе служба уедет на нормальный сервер, возможно через репликацию - не суть важно.
Установлены из родных репозиториев OpenLDAP и все что он попросил, а так же и все, что рекомендуется в манах, Руководстве Администратора и статьях. В частности, обновлена до 5.2 berkeley DB, установлен openssl, sasl, kerberos, ну и так далее...
Создана первоначальная конфигурация, в соответствии с последними рекомендациями в руководстве - в директории /etc/openldap/slapd.d
Вот содержимое файла /etc/openldap/slapd.d/нашафирма/cn=config.ldif
Код: Выделить всё
dn: cn=config
objectClass: olcGlobal
cn: config
structuralObjectClass: olcGlobal
entryUUID: ccef3fe8-7944-1030-996a-b559c1732ecc
creatorsName: cn=config
createTimestamp: 20110922085836Z
entryCSN: 20110922085836.007980Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20110922085836ZСервер запущен командой slapd -F /etc/openldap/slapd.d/uнашафирма -u ldap -g ldap -h ldap:///
в процессах есть, порты слушает, на ldapsearch откликается, на ldapadd - тоже.
С помощью последней команды были добавлены все нужные схемы.
Вот содержимое /cn=config
Код: Выделить всё
-rw------- 1 ldap ldap 50253 Sep 22 12:00 cn=schema.ldif
-rw------- 1 ldap ldap 356 Sep 22 11:58 olcDatabase={0}config.ldif
-rw------- 1 ldap ldap 525 Sep 22 11:58 olcDatabase={-1}frontend.ldifвот содержимое /cn=config/cn=schema
Код: Выделить всё
-rw------- 1 ldap ldap 15497 Sep 22 12:04 cn={0}core.ldif
-rw------- 1 ldap ldap 11290 Sep 22 12:04 cn={1}cosine.ldif
-rw------- 1 ldap ldap 2784 Sep 22 12:04 cn={2}inetorgperson.ldif
-rw------- 1 ldap ldap 6420 Sep 22 12:04 cn={3}nis.ldif
-rw------- 1 ldap ldap 1219 Sep 22 12:05 cn={4}openldap.ldifИмея, теоретически, базы config и frontend, пытаюсь поднять рабочую базу.
Вот содержимое base.ldif, который я пытаюсь скормить серверу через ldapadd
Код: Выделить всё
dn: olcDatabase={1}bdb, cn=config
objectClass: olcDatabaseConfig
objectClass: olcbdbConfig
olcDatabase: {1}bdb
olcDbDirectory: /var/lib/ldap
olcSuffix: dc=firma,dc=local
olcRootDN: cn=admin,dc=firma,dc=local
olcRootPW: тут пароль админа
olcDbIndex: uid pres,eq
olcDbIndex: cn,sn,uid pres,eq,approx,sub
olcDbIndex: objectClass eq
olcAccess: to attrs=userPassword
by self write
by anonymous auth
by dn.base="cn=admin,dc=firma,dc=local" write
by * none
olcAccess: to *
by self write
by dn.base="cn=admin,dc=firma,dc=local" writeПолучаю отлуп,
ldap_add: Other (e.g., implementation specific) error (80)
additional info: <olcAccess> handler exited with 1
Останавливаю сервер ldap, пытаюсь скормить его slapadd - получаю синтаксическую ошибку
unknown directive <dn:> outside backend info and database definitions. - разумееся, прямо на первую строчку файла.
PS: Ах, да. Вот лог ldap.log
Код: Выделить всё
Sep 23 10:53:10 unixsystem slapd[15266]: conn=8 fd=10 ACCEPT from IP=127.0.0.1:43162 (IP=0.0.0.0:389)
Sep 23 10:53:10 unixsystem slapd[15266]: conn=8 op=0 BIND dn="cn=config" method=128
Sep 23 10:53:10 unixsystem slapd[15266]: conn=8 op=0 BIND dn="cn=config" mech=SIMPLE ssf=0
Sep 23 10:53:10 unixsystem slapd[15266]: conn=8 op=0 RESULT tag=97 err=0 text=
Sep 23 10:53:10 unixsystem slapd[15266]: conn=8 op=1 ADD dn="olcDatabase={1}bdb,cn=config"
Sep 23 10:53:10 unixsystem slapd[15266]: conn=8 op=1 RESULT tag=105 err=80 text=duplicate index definition for attr "uid"
Sep 23 10:53:10 unixsystem slapd[15266]: conn=8 op=2 UNBIND
Sep 23 10:53:10 unixsystem slapd[15266]: conn=8 fd=10 closedВ общем - вопрос - где затыка?
/dev/hand уже дрожит, /dev/brain уже кипит.