0

スクリプトを使用して、ローカルの openDJ インスタンスから objectClasses と attributeTypes を削除しようとしています。目標は、サーバーを破棄してから再作成する一連のスクリプトを作成することです。これにより、変更が発生したときに、各開発者/インスタンスがスクリプトを実行してすぐに使用できるようになります。完全な定義を使用してオブジェクトと属性を削除することに成功しましたが、ObjectID を使用しようとすると、オブジェクト/属性を見つけることができません。 "Entry cn=schema cannot be modified because the attempt to update objectClasses would have removed one or more values from the attribute that were not present: (1.1.2.2.2) "

作業中のldif:

dn: cn=schema
changetype: modify
delete: objectClasses
objectclasses: ( 1.1.2.2.2 NAME 'tstPerson'
            DESC 'Person object'
            SUP inetOrgPerson
            STRUCTURAL
            MUST ( name )
            MAY ( unit ) 
             ) 

dn: cn=schema
changetype:modify
delete:attributeTypes
attributeTypes: (2.16.3.1.1
   NAME 'unit'
   DESC 'identifies the unit or units a person has been assigned'
   EQUALITY caseIgnoreMatch
   SUBSTR caseIgnoreSubstringsMatch
   SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )

短縮非稼働:

dn: cn=schema
changetype: modify
delete: objectClasses
objectclasses: ( 1.1.2.2.2 ) 

dn: cn=schema
changetype:modify
delete:attributeTypes
attributeTypes: ( 2.16.3.1.1 )

問題は、objectClass または属性を削除するために、objectClass または属性の完全な定義を提供する必要があるか、または objectClass または属性を名前または OID で明確に識別する方法があるかということです。

4

1 に答える 1

0

チェックしたところ、OIDと名前だけで機能します。

$ ldapmodify -D cn=directory\ manager -w secret12 -p 1389
dn: cn=schema
changetype: modify
delete: attributeTypes
attributeTypes: (2.16.3.1.1 NAME 'unit')

Processing MODIFY request for cn=schema
MODIFY operation successful for DN cn=schema

OID だけでは不十分な理由を確認する必要がありますが、これは先に進むのに役立つはずです

于 2015-04-26T21:40:58.453 に答える