无法在 LDAP ApacheDS 中创建分区

Unable to create partition in LDAP ApacheDS

我是 LDAP 新手,我想使用 LDIF 文件创建我的第一个模式。这是 LDIF 文件的第一部分:

dn: dc=demo,dc=com
objectclass: top
objectclass: domain
dc: demo

dn: ou=Users,dc=demo,dc=com
objectClass: organizationalUnit
objectClass: top
ou: Users
description: demo.Com Users


dn: uid=bob,ou=Users,dc=demo,dc=com
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top
cn: User Test
sn: Test
displayName: User Test
givenName: User
mail: bob@demo.com
ou: Users
uid: bob
userPassword:: e1NTSEF9MGhuUjhnWkFNZFpKVUNwZXFwcFEzeUQ2YkJNOTVQUVo4WU9JSUE9P
 Q==

即使 LDIF 声明顶级域 "demo.com" 也会引发以下错误:

"Entry dn[n]: dc=demo,dc=com objectclass: top objectclass: domain dc: demo : ERR_268 Cannot find a partition for dc=demo,dc=com]"

另一方面,使用 ApacheDS studio UI 手动创建分区 "demo.com"(并删除第一个 dn 块)它可以工作。我有点糊涂了!对解决问题有帮助吗?

将您的 LDIF 文件导入 ApacheDS 只会创建条目而不是分区。由于您的所有条目都必须存储在分区中,因此当分区不存在时会出现以下错误:

ERR_268 Cannot find a partition for dc=demo,dc=com

每个分区都有一个与之相关联的后缀或基本 DN,它将充当存储在同一分区中的所有其他条目的父条目。在您的情况下,后缀将是:

dc=demo,dc=com

请注意,后缀也是一个条目(就像目录中的任何其他条目一样)。

创建新的 DIT(目录信息树)包括以下步骤:

  1. 创建一个新分区。
  2. 创建后缀条目。
  3. 创建其他条目。

一些实用程序(如 Apache Studio)会在您创建分区时自动创建后缀条目(我认为这让您感到困惑)但实际上它们是两种不同的操作。

您可以阅读有关 ApacheDS 分区的更多信息 here