【问题标题】:openldap with lmdb; cannot be opened: No such file or directory带有 lmdb 的 openldap;无法打开:没有这样的文件或目录
【发布时间】:2016-01-28 15:14:47
【问题描述】:

我正在尝试在 linux 系统上使用 lmdb 后端配置 openldap-2.4.43。到目前为止没有成功。

slapd.conf:

include     /opt/openldap/etc/schema/core.schema
include     /opt/openldap/etc/schema/cosine.schema
include     /opt/openldap/etc/schema/inetorgperson.schema

allow bind_v2

pidfile     /var/run/slapd.pid
argsfile    /var/run/slapd.args

database    config
rootdn      "cn=Manager,cn=config"
rootpw      {SSHA}sMXtPWSAL9yEgDslsXMZiM+qgLJZW9VO

database    mdb
suffix      "dc=mydomain,dc=com"
rootdn      "cn=Manager,dc=mydomain,dc=com"
rootpw      {SSHA}sMXtPWSAL9yEgDslsXMZiM+qgLJZW9VO
directory   /var/openldap/data/main/
maxsize     10485760

index   objectClass         eq,pres
index   ou,cn,mail,surname,givenname    eq,pres,sub

slaptest (/opt/openldap/sbin/slaptest -f slapd.conf -F ./slapd.d/) 结果(最后一部分):

 stat("/var/openldap/data/main/", {st_mode=S_IFDIR|0700, st_size=40, ...}) = 0
 getpid()                                = 2440
 brk(0x828a000)                          = 0x828a000
 open("/var/openldap/data/main//data.mdb", O_RDONLY) = -1 ENOENT (No such file or directory)
 time(NULL)                              = 1453993047
 write(2, "56aa2c57 mdb_db_open: database \""..., 12256aa2c57 mdb_db_open: database "dc=mydomain,dc=com" cannot be opened: No such file or directory (2). Restore from backup!) = 122
time(NULL)                              = 1453993047
write(2, "56aa2c57 backend_startup_one (ty"..., 9356aa2c57backend_startup_one (type=mdb, suffix="dc=mydomain,dc=com"): bi_db_open failed! (2)) = 93
write(2, "slap_startup failed (test would "..., 61slap_startup failed (test would succeed using the -u switch)) = 61
_exit(1)                                = ?
+++ exited with 1 +++

/var/openldap/data/main 是可写的。系统只有一个root用户。

我尝试更改目标文件夹,设置 ulimit -c 无限制,更改 maxsize 的值。都没有任何明显的结果。

我错过了什么?为什么 openldap 假设 /var/openldap/data/main//data.mdb 应该已经存在并且不会自行创建?

【问题讨论】:

    标签: ldap openldap lmdb


    【解决方案1】:

    使用 Slaptest 将 slapd.conf 转换为 slapd.d 时遇到同样的错误。

    正在转换配置,只是那些错误实际上是警告,因为我在/var/lib/ldap中当然仍然没有数据库,因为我事先清空了文件夹。

    【讨论】:

    • 我建议你删除这个答案。它更适合评论。并且没有提供关于 OP 问题的答案。
    【解决方案2】:

    去掉main之后的斜杠,在运行slapd之前运行slapindex。您需要在数据库更改时执行此操作。

    【讨论】:

      猜你喜欢
      • 2023-04-06
      • 2019-04-07
      • 2017-05-04
      • 2018-01-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多