首页 > 解决方案 > 就地修改 LDAP 对象类中的可能属性列表

问题描述

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

objectClasses: (

2.5.6.10 NAME 'inetOrgPerson' STRUCTURAL SUP ( organizationsPerson ) MAY (employeeID $employeeType $ givenName $ groupMembership $ uid $ User $ userCertificate $ userPassword ) X-NDS_NOT_CONTAINER '1' X-NDS_NONREMOVABLE '1' X-NDS_NAME 'User' )

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

objectClasses: (

2.5.6.10 NAME 'inetOrgPerson' STRUCTURAL SUP (organizationalPerson) MAY (employeeID $ employeeType $ givenName $ groupMembership $ uid $ User $ userCertificate $ userPassword $ manager $ managerID) X-NDS_NOT_CONTAINER '1' X-NDS_NONREMOVABLE '1' X-NDS_NAME '用户')

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

谢谢

标签: ldap

解决方案


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


推荐阅读