将组织单位 (ou) 添加到 OpenLDAP 中的组织 (o)

将组织单位 (ou) 添加到 OpenLDAP 中的组织 (o)

在 Debian Buster 安装中,我刚刚安装了 OpenLDAP 服务器slapd

~$ sudo apt install slapd ldap-utils
~$ sudo dpkg-reconfigure slapd

在使用默认选项进行设置时,系统提示我提供组织名称。我用了,所以我得到

~$ ldapsearch -x -LLL -b dc=hoeft-online,dc=de
dn: dc=hoeft-online,dc=de
objectClass: top
objectClass: dcObject
objectClass: organization
o: home
dc: hoeft-online

dn: cn=admin,dc=hoeft-online,dc=de
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator

现在我尝试添加一个组织部门()到组织,o: home如输出所示,但没有成功:

~$ cat add.ldif
dn: ou=posix,o=home,dc=hoeft-online,dc=de
objectClass: organizationalUnit
ou: posix

~$ ldapadd -xWD cn=admin,dc=hoeft-online,dc=de -f add.ldif
Enter LDAP Password:
adding new entry "ou=posix,o=home,dc=hoeft-online,dc=de"
ldap_add: No such object (32)
        matched DN: dc=hoeft-online,dc=de

添加一个到域组件(直流电)作品:

~$ cat add.ldif
dn: ou=posix,dc=hoeft-online,dc=de
objectClass: organizationalUnit
ou: posix

~$ ldapadd -xWD cn=admin,dc=hoeft-online,dc=de -f add.ldif
Enter LDAP Password:
adding new entry "ou=posix,dc=hoeft-online,dc=de"

我在这里缺少什么?是不是可以添加一个organizationalUnit()到一个组织()?如果没有,为什么?它是在哪里定义的?

答案1

您确定您的 LDAP 目录包含 dn 吗o=home,dc=hoeft-online,dc=de?该错误表明它没有,但由于您没有粘贴适当ldapsearch命令的输出,所以很难判断。怀疑这就是问题所在,因为否则我无法重现您的问题。

我从 Debian Stretch 上的 OpenLDAP 2.4.47 开始。我有一个数据库dc=example,dc=com;我从以下内容开始:

$ ldapsearch ... -D cn=admin,dc=example,dc=com -x -w admin -b dc=example,dc=com -LLL
dn: dc=example,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: Example Inc.
dc: example

o=home然后我可以使用此 LDIF添加新的:

dn: o=home,dc=example,dc=com
objectClass: organization
o: home

看起来像:

$ ldapadd -D cn=admin,dc=example,dc=com -x -W -f add-org.ldif
Enter LDAP Password:
adding new entry "o=home,dc=example,dc=com"

然后我可以添加ou=posix这样的:

dn: ou=posix,o=home,dc=example,dc=com
objectClass: organizationalUnit
ou: posix

看起来像:

$ ldapadd -D cn=admin,dc=example,dc=com -x -W -f add-ou.ldif
Enter LDAP Password:
adding new entry "ou=posix,o=home,dc=example,dc=com"

当我完成后:

$ ldapsearch ... -D cn=admin,dc=example,dc=com -x -w admin -b dc=example,dc=com -LLL
dn: dc=example,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: Example Inc.
dc: example

dn: o=home,dc=example,dc=com
objectClass: organization
o: home

dn: ou=posix,o=home,dc=example,dc=com
objectClass: organizationalUnit
ou: posix

相关内容