在 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