OpenLdap:为什么 slapd 告诉我没有 DB_CONFIG,但实际上有一个

OpenLdap:为什么 slapd 告诉我没有 DB_CONFIG,但实际上有一个

当我在 Debian 6、OpenLdap 2.4.23-7.32.4.23-7.3 上运行 slapcat 或重新启动 slapd 时,看到此警告:

hdb_db_open: warning - no DB_CONFIG file found in directory /var/lib/ldap: (14).
Expect poor performance for suffix "dc=i-tracing,dc=lan".

但当我看一眼:

[root@xxx-ldap:/etc/ldap]# ls -lh /var/lib/ldap
total 5,8M
[...]
-rw-r--r-- 1 openldap openldap 3,1K  8 nov.  12:00 DB_CONFIG
[...]

ps aux | grep openldap
openldap 22919  4.4  1.5  87204  5860 ?        SLsl 12:20   0:02 /usr/sbin/slapd -h ldaps://xxx-ldap.xxx.lan:636/ ldap://127.0.0.1:389 -g openldap -u openldap -f /etc/ldap/slapd.conf

你知道我能做什么来证明斯拉普德DB_CONFIG 确实在这里,在 /var/lib/ldap 中?

注意: 即使这样做:

service slapd stop
cp /tmp/DB_CONFIG /var/lib/ldap/
chown openldap:openldap /var/lib/ldap/DB_CONFIG
service slapd start

它一直说 /var/lib/ldap 中没有 DB_CONFIG 文件!?!

答案1

也许其他人也会遇到同样的问题。对我来说,openldap 的版本是:

openldap.x86_64 2.4.40-13.el7 @base openldap-客户端.x86_64 2.4.40-13.el7 @base openldap-服务器.x86_64 2.4.40-13.el7 @base

DB_CONFIG在 中找到了该文件/usr/share/openldap-servers/DB_CONFIG.example,所以只需将该文件 cp 到 ldap 目录中即可。修复问题后, 的结果为slaptest

599ade3a bdb_monitor_db_open:监控已禁用;配置监控数据库以启用配置文件测试成功

答案2

我终于找到了根本原因,它隐藏在DB_CONFIG的创建时间中:

-rw-r--r-- 1 openldap openldap 3,1K  8 nov.  12:00 DB_CONFIG

它是确切地上次 slapd 重启的时间。

我已经用这些命令修复了它:

service slapd stop
cp /tmp/DB_CONFIG /var/lib/ldap/
chown openldap:openldap /var/lib/ldap/DB_CONFIG
service slapd start

相关内容