openldap with lmdb;无法打开:没有这样的文件或目录

时间:2016-01-28 15:14:48

标签: ldap openldap lmdb

我正在尝试在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

straped 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 unlimited,更改了maxsize的值。一切都没有明显的结果。

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

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

main之后删除尾部斜杠,并在运行slapindex之前运行slapd。您需要在数据库更改时随时执行此操作。