Идентификаторы хостов в конфигурации и скрипте должны совпадать.

Идентификаторы хостов в конфигурации и скрипте должны совпадать.

Во-первых, я не эксперт по OpenLDAP.

У меня есть openldap ( slapd), работающий на сервере, который работает уже много лет. Сегодня я запустил его, yum updateи он обновил довольно много пакетов, включая пакеты openldap. После того, как он закончил (без ошибок), наш сервер LDAP не работал. Я попробовал простое service slapd start( и /etc/init.d/slapd start), оба из которых внезапно дали сбой.

Если я загляну в /var/log/ldap.logфайл, то увижу следующие записи:

@(#) $OpenLDAP: slapd 2.4.40 (May 10 2016 23:30:49) $#012#[email protected]:/builddir/build/BUILD/openldap-2.4.40/openldap-2.4.40/build-servers/servers/slapd
read_config: no serverID / URL match found. Check slapd -h arguments.
slapd stopped.
connections_destroy: nothing to destroy.

Оба варианта slaptestи slaptest -uявляются успешными:

# slaptest
config file testing succeeded
# slaptest -u
config file testing succeeded

Вот версии openldap:

openldap-clients-2.4.40-12.el6.x86_64
openldap-servers-2.4.40-12.el6.x86_64
openldap-devel-2.4.40-12.el6.x86_64
compat-openldap-2.3.43-2.el6.x86_64
openldap-2.4.40-12.el6.x86_64

Вот также мой slapd.confфайл, который работал до обновления yum:

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

allow bind_v2

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

modulepath /usr/lib64/openldap

moduleload syncprov.la
moduleload unique.la

database monitor
access to *
        by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
        by dn.exact="cn=admin,dc=am5up,dc=com" read
        by * none

database    bdb
suffix      "dc=am5up,dc=com"
rootdn      "cn=admin,dc=am5up,dc=com"
rootpw {SSHA}0yFFC0BTYdZLDRNtSHVz1I6YC4zJ3Z0AZ09123
directory   /var/lib/ldap

index objectClass                       eq,pres
index ou,cn,mail,surname,givenname      eq,pres,sub
index uidNumber,gidNumber               eq,pres
index uid,memberUid                     eq,pres,sub
index nisMapName,nisMapEntry            eq,pres,sub

overlay unique
unique_attributes mail

ServerID        1 "ldap://ldap.am5up.com"

overlay         syncprov
syncprov-checkpoint     10 1
syncprov-sessionlog     100

Может ли кто-нибудь дать какие-либо предложения?

Очень признателен!

решение1

Идентификаторы хостов в конфигурации и скрипте должны совпадать.

Для тех, у кого еще есть эта проблема: я разобрался с проблемой. Во время обновления немного более новая версия требует, чтобы хост соответствовал определению сервера в файле конфигурации.

Например, в вашем slapd.confфайле есть такая строка:

ServerID 1 "ldap://myldapserver"

Затем в вашем скрипте запуска (или при запуске slapd) вы должны определить хост как «ldap://myldapserver».

Это, казалось бы, имеет смысл; однако, благодаря сегодняшним проблемам я узнал, что /etc/init.d/slapdфайл по умолчанию, который был добавлен во время моей первоначальной установки, указывает хост как пустой. Таким образом, скрипт запуска по умолчанию, по сути, выполняет:

slapd -h "" -u <user> -g <group>

После того, как я отредактировал скрипт запуска, чтобы убедиться, что -hвключение slapdсоответствует тому, что указано в моем файле конфигурации, все снова заработало.

Связанный контент