OpenLDAP:未知指令后端数据库内部定义

OpenLDAP:未知指令后端数据库内部定义

尝试在 2 个独立的服务器上设置 2 个 OpenLDAP 实例的“镜像模式”。但由于新添加的指令,slapd 无法启动。以下是 /var/log/ldap.log 中的错误消息:

  /etc/openldap/slapd.conf: line 127: unknown directive <syncprov-checkpoint> inside backend database definition.

下面是环境:

# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.3 (Maipo)
# rpm -qa | grep openldap
openldap-devel-2.4.40-13.el7.x86_64
openldap-2.4.40-13.el7.x86_64
openldap-servers-2.4.40-13.el7.x86_64
openldap-clients-2.4.40-13.el7.x86_64
# ps -ef | grep slapd
root       2224      1  0 Feb17 ?        00:00:10 slapd

以下是服务器上 /etc/openldap/slapd.conf 文件中的同步部分:

# Load dynamic backend modules:
# Module syncprov.la is now statically linked with slapd and there
# is no need to load it here
modulepath /usr/lib64/openldap

...

# enable monitoring
#database monitor

# allow onlu rootdn to read the monitor
#access to *
#        by dn.exact="cn=Administrator,dc=example,dc=com" read
#        by * none
syncprov-checkpoint 100 10
syncprov-sessionlog 100

serverID    1

syncrepl      rid=001
              provider=ldap://10.1.10.19
              bindmethod=simple
              binddn="cn=Administrator,dc=example,dc=com"
              credentials=ldap
              searchbase="dc=example,dc=com"
              schemachecking=on
              type=refreshAndPersist
              retry="60 +"

mirrormode on

loglevel -1

答案1

这个问题今天我自己解决了。事实证明,“syncprov.la”的评论是“不小心”错误添加的。不知道是谁以及为什么。

重新阅读手册并在两台服务器上添加“moduleloadsyncprov.la”后,问题解决。

难怪没有人提出同样的问题。

相关内容