Есть разница между 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).
Кто-нибудь знает, как заставить ldapmodify версии 2.4 работать таким же образом? Теперь мой сценарий говорит мне:
ldapmodify: modify operation type is missing at line xxxx
Я попытался добавить строку «changetype: modify» после каждой записи dn: в файле, который я пытаюсь импортировать, однако это не устранило проблему.
Итак, может ли кто-нибудь подсказать в этом тупом чуваке, что мне не хватает?
Пример в формате ldif:
# inactive, group, mydomain.net
dn: cn=inactive,ou=group,dc=mydomain,dc=net
cn: inactive
gidNumber: 9999
objectClass: top
objectClass: posixGroup
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/ для подробностей о ldapadd
и ldapmodify
и http://www.zytrax.com/books/ldap/ch8/index.html#changetype для получения подробной информации о дополнительных атрибутах.
С уважением.