仅使用ObjectID从ldap中删除ObjectsClass和AttributeType
我一直试图通过脚本从本地openDJ实例中删除ObjectsClass和AttributeType。目标是创建一组脚本来销毁并重新创建服务器,以便在发生更改时,每个开发人员/实例都可以简单地运行脚本并准备就绪。我已经成功地使用完整定义删除了对象和属性,但是当我尝试使用ObjectID时,它无法找到对象/属性。 无法修改条目cn=schema,因为尝试更新ObjectClass会从属性中删除一个或多个不存在的值:1.1.2.2.2 工作ldif:仅使用ObjectID从ldap中删除ObjectsClass和AttributeType,ldap,opendj,Ldap,Opendj,我一直试图通过脚本从本地openDJ实例中删除ObjectsClass和AttributeType。目标是创建一组脚本来销毁并重新创建服务器,以便在发生更改时,每个开发人员/实例都可以简单地运行脚本并准备就绪。我已经成功地使用完整定义删除了对象和属性,但是当我尝试使用ObjectID时,它无法找到对象/属性。 无法修改条目cn=schema,因为尝试更新ObjectClass会从属性中删除一个或多个不存在的值:1.1.2.2.2 工作ldif: dn: cn=schema changetype:
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或属性的完整定义,或者是否有方法使用名称或OID专门标识objectClass或属性?刚刚选中,它仅适用于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是不够的,但这应该有助于您继续前进在没有括号的情况下尝试。奇怪的事情。你不应该同时需要名字和OID。当您尝试不带括号的OID时发生了什么?如果没有括号,OpenDJ将拒绝该值,因为它不符合attributeTypeDescription。顺便说一句,这只适用于即将发布的OpenDJ 3.0开发版本。最近,我们使用模式的objectIdentifierFirstComponentMatch规则进行了移动。