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

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

첫째, 저는 OpenLDAP 전문가가 아닙니다.

저는 slapd수년 동안 작동해 온 서버에서 openldap()을 실행하고 있습니다. 오늘 실행 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.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

관련 정보