openLDAP にロードしようとしている次の ldif ファイルがあります:
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
オブジェクトを再度追加しようとすると、オブジェクトは DB 内にあるものの、検索では何も表示されません。
答え1
LDIF を見ると、andキーワード:
の後のコロン ( )が抜けています。次のようになっているはずです。olcAttributeTypes
olcObjectClasses
olcAttributeTypes: ( 1.3.6.1.4.1.4203.666.1.90
NAME 'competence'
...