就地修改LDAP对象类中的may属性列表

时间:2018-07-12 18:55:33

标签: ldap

我有一个预先存在的对象类,它具有很多MAY属性。我已经创建了新属性,但只需要将它们添加到预先存在的类中即可。现在,我可以使用iManager(eDirecory的NetIQ接口)将属性添加到类中,但是我想知道是否可以简单地将属性附加到“ MAY”部分的对象类中,而无需先删除整个对象类并重新加上原始的MAY属性。我注意到很多人都问过这个问题,但是我从未看到有回复说您可以做到,如何做到或不能做到。我只是好奇它是否可能。这是一个对象类示例:

objectClasses: (

2.5.6.10   NAME“ inetOrgPerson”   结构性   SUP(organizationalPerson)   MAY(employeeID $ employeeType $ nameName $ groupMembership $ uid $ user $ user $ userCertificate $ userPassword)   X-NDS_NOT_CONTAINER'1'   X-NDS_NONREMOVABLE'1'   X-NDS_NAME“用户”   )

我只想使用ldapmodify将我创建的新属性(例如“ manager”“ managerID”)添加到对象类的May部分,因此最终结果如下所示:

objectClasses: (

2.5.6.10   NAME“ inetOrgPerson”   结构性   SUP(organizationalPerson)   MAY(employeeID $ employeeType $ givenName $ groupMembership $ uid $ user $ user $ userCertificate $ userPassword $ manager $ managerID)   X-NDS_NOT_CONTAINER'1'   X-NDS_NONREMOVABLE'1'   X-NDS_NAME“用户”   )

同样,我知道我可以删除整个对象类并使用新属性重新创建,也可以使用iManager的gui来完成。但是问题是是否有可能做到这一点?

谢谢

2 个答案:

答案 0 :(得分:1)

LDAP RFC中未定义如何修改LDAP目录服务器的架构,因此仍然是专有的。一些服务器允许通过LDAP进行删除和添加“ cn = Schema”条目中的objectClasses属性(例如OpenDJ)。有些要求您停止服务器并手动编辑架构。 最重要的是,它完全取决于您使用的服务器,它应该是产品文档的一部分。

答案 1 :(得分:0)

不在OpenDJ中。为此,您需要使用

changetype:修改 替换:对象类

但是,架构后端不支持此功能,它将用于修改用户条目。

您可以(尽管不建议)直接修改架构文件,但这可能在下次重新启动服务器时导致问题。如果您使用的是旧版OpenDJ,则还可以通过控制面板管理架构。