Решение закончило тем, что было к командам выполнения через простую страницу PHP. Соединение было внутренним к нашей сети, и мы не волновались по поводу шифрования, просто удаленно инициировав команду и получая вывод. Должно быть, был другой инструмент сценариев командной строки, который мы, возможно, использовали, но подход, который мы проявили, закончил тем, что был очень прост и удовлетворил наши потребности.
Используйте ldapmodify точно так же, как и для обычной записи ldap с многозначными атрибутами.
Это в значительной степени то, что я ожидал, но я не был уверен на 100% из-за индексации {N}, которую вы видите, когда выполняете поиск схемы ldap.
Во-первых, найдите dn вашей схемы. Что-то вроде cn = {4} test, cn = schema, cn = config Затем напишите файл ldif и примените его к своему каталогу. В Ubuntu 12.04 я применил его как root:
ldapmodify -Q -Y EXTERNAL -H ldapi:// -f test.ldif
У меня были проблемы с синтаксисом модификации ldif и с индексами {N}.
Итак, начало вашего ldif файла должно быть чем-то например:
version: 1
dn: cn={N}test,cn=schema,cn=config
changetype: modify
Чтобы изменить объектный класс:
delete: olcObjectClasses
olcObjectClasses: <old value>
-
add: olcObjectClasses
olcObjectClasses: <new value>
Чтобы изменить атрибут:
delete: olcAttributeTypes
olcAttributeTypes: <old value>
-
add: olcAttributeTypes
olcAttributeTypes: <new value>
Несколько советов, которые я понял по поводу синтаксиса: