openldap 2.3 和 2.4 之间的区别

openldap 2.3 和 2.4 之间的区别

openldap 2.3 和 2.4 之间存在差异 - 特别是 ldapmodify...

If no "changetype:" line is present, the default is "add" if the -a flag is set (or if the program was invoked as ldapadd) and "modify" otherwise.

If  changetype  is  "modify"  and  no "add:", "replace:", or "delete:" lines appear, the default is "replace" for ldapmodify(1) and "add" for ldapadd(1).

有人知道如何让 2.4 版 ldapmodify 以同样的方式运行吗?现在我的脚本告诉我:

ldapmodify: modify operation type is missing at line xxxx

我尝试在尝试导入的文件中的每个 dn:条目后添加行“changetype:modify”,但这并没有解决问题。

那么,有人可以告诉这个愚蠢的家伙我错过了什么吗?

ldif 格式的示例:

# inactive, group, mydomain.net
dn: cn=inactive,ou=group,dc=mydomain,dc=net
cn: inactive
gidNumber: 9999
objectClass: top
objectClass: posixGroup

答案1

LDAP 2.3 至少只需要 changetype 属性:

dn: uid=HOST$,ou=Computers,dc=example,dc=edu
changetype: modify
sambaSID: S-1-5-21-3806935310-923960185-3344722049-877

版本 2.4 需要额外的属性来修改:

dn: uid=HOST$,ou=Computers,dc=example,dc=edu
changetype: modify
replace: sambaSID
sambaSID: S-1-5-21-3806935310-923960185-3344722049-877

看看最后一个例子中的字符串replace: sambaSID。在我的 Debian 6 上,第一个 LDIF 出现错误

# ldapmodify -v -xWD cn=root,dc=ecample,dc=edu -f wsmodify.ldif
ldap_initialize( <DEFAULT> )
Enter LDAP Password: 
ldapmodify: modify operation type is missing at line 3, entry "uid=HOST$,ou=Computers,dc=example,dc=edu"

第二个 LDIF 示例运行良好:

# ldapmodify -v -xWD cn=root,dc=example,dc=edu -f wsmodify.ldif
ldap_initialize( <DEFAULT> )
Enter LDAP Password: 
replace sambaSID:
        S-1-5-21-3806935310-923960185-3344722049-877
modifying entry "uid=HOST$,ou=Computers,dc=example,dc=edu"
modify complete

參閱 http://www.zytrax.com/books/ldap/ch14/有关ldapaddldapmodify 和 的 详细信息http://www.zytrax.com/books/ldap/ch8/index.html#changetype了解有关附加属性的详细信息。

此致。

相关内容