Во-первых, я не эксперт по 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
соответствует тому, что указано в моем файле конфигурации, все снова заработало.