LDAP - Ошибка добавления атрибутов LDIF: text=attributeTypes: значение #0 неверно для синтаксиса

Я пытаюсь добавить новый атрибут "FullName" в LDAP. В студии Apache Directory я создал новый файл LDIF:

dn: cn=schema
changetype: modify
add: attributeTypes
attributeTypes: ( 2.16.840.1.113719.1.1.4.1.120
       NAME 'FullName'
       DESC 'fullname of an employee'
       EQUALITY caseIgnoreMatch
       SUBSTR caseIgnoreSubstringsMatch
       SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
-
add: objectClasses
objectClasses: ( 2.25.128424792425578037463837247958458780603.1
   NAME 'fullname_attr'
   DESC 'fullname_attr'
   SUP inetOrgPerson
   STRUCTURAL
   MAY  (FullName) )

OID атрибута предназначен для полного имени, OID объектного класса — это пользовательский OID.

Когда я пытаюсь «выполнить LDIF», в моем файле журнала появляется сообщение об ошибке:

send_ldap_result: err=21 matched="" text="attributeTypes: value #0 invalid per syntax"

Как я могу это исправить?


person Dimitri Colier    schedule 06.08.2018    source источник
comment
Какой LDAP-сервер сервер вы используете?   -  person Michael Ströder    schedule 06.08.2018
comment
Я использую OpenLDAP 2.4.31.   -  person Dimitri Colier    schedule 06.08.2018
comment
Статическая или динамическая конфигурация?   -  person Michael Ströder    schedule 06.08.2018
comment
это статический конфиг   -  person Dimitri Colier    schedule 06.08.2018
comment
обновил мой ответ   -  person Michael Ströder    schedule 06.08.2018


Ответы (1)


Это не будет работать с OpenLDAP.

  1. В конфигурации OpenLDAP по умолчанию DN подзаписи подсхемы — cn=Subschema.

  2. OpenLDAP позволяет писать непосредственно в подзапись подсхемы.

OpenLDAP имеет статические и динамические методы настройки.

Для последнего динамическое изменение схемы выполняется путем изменения записи cn=schema,cn=config в бэкэнде конфигурации. Обратите внимание, что это также имеет определенную схему. Вы должны проверить это, прежде чем создавать запросы на изменение.

При использовании статической конфигурации сервер OpenLDAP не принимает изменение схемы через LDAP.

Вам просто нужно добавить эти строки в ваш slapd.conf:

attributetype ( 2.16.840.1.113719.1.1.4.1.120
  NAME 'fullName'
  DESC 'fullname of an employee'
  EQUALITY caseIgnoreMatch
  SUBSTR caseIgnoreSubstringsMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )

Затем то же самое для пользовательского класса объектов.

person Michael Ströder    schedule 06.08.2018