Я создал собственный объектный класс LDAP, но забыл пару атрибутов, прежде чем добавить его на свой сервер OpenLDAP. Я выполнил инструкции на этой странице документации Ubuntu: https://help.ubuntu.com/12.04/serverguide/openldap-server.html Я использую Ubuntu 12.04.
Итак, как мне добавить новый атрибут MAY к объектному классу, который уже применен к серверу?
В частности, для OpenLDAP, но было бы неплохо узнать, как это сделать и для Novell eDirectory.
Используйте 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>
Несколько советов по синтаксису, которые я понял: