У меня есть следующий 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
когда я пытаюсь добавить объекты снова, это означает, что они есть в базе данных, но в поиске ничего не появляется.
решение1
Насколько я могу судить, в вашем LDIF отсутствует двоеточие ( :
) после ключевых слов olcAttributeTypes
and olcObjectClasses
. Должно выглядеть так:
olcAttributeTypes: ( 1.3.6.1.4.1.4203.666.1.90
NAME 'competence'
...