conf와 스크립트의 호스트 ID가 일치해야 합니다.

conf와 스크립트의 호스트 ID가 일치해야 합니다.

우선, 저는 OpenLDAP 전문가가 아닙니다.

저는 slapd수년 동안 실행되어 온 서버에서 openldap()을 실행하고 있습니다. 오늘 실행해보니 yum updateopenldap 패키지를 포함해 많은 패키지가 업데이트되었습니다. 완료되면(오류 없음) 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.confyum 업데이트 이전에 작업 중이던 파일입니다.

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

conf와 스크립트의 호스트 ID가 일치해야 합니다.

이 문제에 직면한 다른 사람을 위해: 저는 문제를 해결했습니다. 업그레이드 프로세스 중에 약간 최신 버전에서는 호스트가 구성 파일의 서버 정의와 일치해야 합니다.

예를 들어 slapd.conf파일에 다음 줄이 있습니다.

ServerID 1 "ldap://myldapserver"

그런 다음 시작 스크립트에서(또는 slapd를 시작할 때) 호스트를 "ldap://myldapserver"로 정의해야 합니다.

/etc/init.d/slapd이것은 말이 되는 것 같습니다. 그러나 오늘 문제를 통해 초기 설치 중에 추가된 기본 파일에 호스트가 공백으로 나열되어 있다는 것을 알게 되었습니다 . 따라서 기본 시작 스크립트는 기본적으로 다음과 같이 실행됩니다.

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

-h스위치가 slapd내 구성 파일에 있는 것과 일치하는지 확인하기 위해 시작 스크립트를 편집하고 나면 모든 것이 다시 작동하기 시작했습니다.

관련 정보