Назад | Перейти на главную страницу

Собственная схема для OpenLDAP 2.4

Я новичок в администрировании OpenLDAP. Моя цель - научиться создавать собственные схемы и таким образом настраивать «мой» сервер каталогов.

Я пробовал добавить один необязательный атрибут - ipPhone. Создал схему (фиктивную), а затем преобразовал ее в файл LDIF ниже:

dn: cn=dummy,cn=schema,cn=config
changetype: add
objectClass: olcSchemaConfig
cn: dummy
dn: cn=dummy,cn=schema,cn=config

changetype: modify
#changetype: add
add: olcAttributeTypes
olcAttributeTypes: {0}( 1.3.6.1.4.1.4203.666.100.123 NAME 'ipPhone'
DESC 'ip telephone internal or routable number' SUP telephoneNumber )
-
add: olcObjectClasses
olcObjectClasses: {0}( 1.3.6.1.4.1.4203.666.100.1 NAME 'dummyPerson'
DESC 'Dummy-server user' SUP inetOrgPerson STRUCTURAL MAY ipPhone )

Когда я пытаюсь добавить эту схему с помощью ldapmodify (1), я получаю следующую ошибку:

modifying entry "cn=dummy,cn=schema,cn=config"
ldap_modify: No such object (32)
matched DN: cn=schema,cn=config

Что я сделал не так? Кроме того, где я могу прочитать о «changetype»? Я не уверен, где использовать «изменить» или «добавить» для моего LDIF.

Спасибо.

изменить тип является глобальным для всей записи. Требуется один тип изменения ниже dn: в вашем примере 'add' является правильным, так как dn раньше не существовал в каталоге.

Затем нужно сложить пары:

attribute_type: attribute_value

В Добавить, заменить или Удалить ключевые слова здесь неуместны: они ожидаются с changetype: modify; по той же причине дефис (-) для разделения атрибутов неуместен.

Весь ldif будет выглядеть так:

 dn: cn=dummy,cn=schema,cn=config
 changetype: add       
 cn: dummy
 objectClass: olcSchemaConfig
 olcAttributeTypes: {0}( 1.3.6.1.4.1.4203.666.100.123 NAME 'ipPhone'
  DESC 'ip telephone internal or routable number' SUP telephoneNumber )
 olcObjectClasses: {0}( 1.3.6.1.4.1.4203.666.100.1 NAME 'dummyPerson'
  DESC 'Dummy-server user' SUP inetOrgPerson STRUCTURAL MAY ipPhone )