Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅使用ObjectID从ldap中删除ObjectsClass和AttributeType_Ldap_Opendj - Fatal编程技术网

仅使用ObjectID从ldap中删除ObjectsClass和AttributeType

仅使用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:

我一直试图通过脚本从本地openDJ实例中删除ObjectsClass和AttributeType。目标是创建一组脚本来销毁并重新创建服务器,以便在发生更改时,每个开发人员/实例都可以简单地运行脚本并准备就绪。我已经成功地使用完整定义删除了对象和属性,但是当我尝试使用ObjectID时,它无法找到对象/属性。 无法修改条目cn=schema,因为尝试更新ObjectClass会从属性中删除一个或多个不存在的值: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或属性的完整定义,或者是否有方法使用名称或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规则进行了移动。