我有以下 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 中看到的情况来看,您在and关键字后面缺少冒号 ( :
) 。应该如下所示:olcAttributeTypes
olcObjectClasses
olcAttributeTypes: ( 1.3.6.1.4.1.4203.666.1.90
NAME 'competence'
...