Openldap

在 OpenLDAP 中將組織單位 (ou) 添加到組織 (o)

  • August 12, 2019

在 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

現在我嘗試將組織單位 ( ou ) 添加到組織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

向domainComponent ( dc )添加ou可以:

~$ 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"

我在這裡缺少什麼?是否可以將組織單元(ou)添加到組織(o)?如果不是,為什麼?它在哪裡定義?

您確定您的 LDAP 目錄包含 dno=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

引用自:https://unix.stackexchange.com/questions/534930