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

Невозможно добавить схему в OpenLDAP с помощью конфигурации времени выполнения cn = config

У меня есть следующий файл ldif, который я пытаюсь загрузить в openLDAP:

Специальная схема, создаваемая для проекта Monas

dn: cn=testSchemas,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: testSchemas
olcAttributeTypes ( 1.3.6.1.4.1.4203.666.1.90 
 NAME 'competence'
 DESC 'The field an individual is qualified'
 EQUALITY caseIgnoreMatch
 SUBSTR caseIgnoreSubStringsMatch
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )

olcAttributeTypes ( 1.3.6.1.4.1.4203.666.1.91 
 NAME 'spokenLanguage'
 DESC 'The language spoken by a person.'
 SUP preferredLanguage
 EQUALITY caseIgnoreMatch
 SUBSTR caseIgnoreSubStringsMatch
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )

olcObjectClasses ( 1.3.6.1.4.1.4203.666.2012.1 
 NAME 'inetOrgTestPerson'
 DESC 'An extension of the inetOrgPerson objectClass to add some additional attributes'
 SUP inetOrgPerson
 STRUCTURAL
 MUST competence
 MAY spokenLanguage )

Я получаю сообщение об ошибке: ldapadd: недопустимый формат (строка 4), запись: cn = testSchemas, cn = schema, cn = config " и я не могу понять, хоть убей, что случилось. Я использую ubuntu 12.04 с openldap 2.4.28

Изменить: после исправления синтаксической ошибки отсутствующего ':' мне удалось добавить объект и атрибуты (или так я думал), но я не вижу их, когда выполняю поиск, я получаю сообщение об ошибке:

ldap_modify: Type or value exists (20)
    additional info: modify/add: olcAttributeTypes: value #0 already exists

когда я пытаюсь снова добавить объекты, что означает, что они находятся в базе данных, но при поиске ничего не появляется.

Из того, что я вижу в вашем LDIF, вам не хватает двоеточия (:) после olcAttributeTypes и olcObjectClasses ключевые слова. Должно получиться так:

olcAttributeTypes: ( 1.3.6.1.4.1.4203.666.1.90
  NAME 'competence'
  ...