ldap - 就地修改 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 RFC 中没有定义,因此仍然是专有的。一些服务器允许通过 LDAP 执行此操作,作为“cn=Schema”条目中 objectClasses 属性的删除和添加(如 OpenDJ)。有些要求您停止服务器并手动编辑架构。最重要的是,它完全取决于您使用的服务器,它应该是产品文档的一部分。
推荐阅读
- android - 为什么 TFS 说我需要接受许可证才能进行 android 构建?
- ios - 多个命令产生错误 xcode 10
- visual-studio-2017 - flatbuffers 示例在 VS2017 中编译时给出非标准语法错误
- ruby-on-rails - 如何连接两个 Ruby on Rails 模型中的列?
- css - JavafX & CSS - 将节点移到前面
- javascript - onmouseout 无法正常工作。请帮我解决这个问题
- php - 无法重命名 Magento 中的保存按钮标签?
- javascript - 如何告诉 Javascript 脚本只在网页的标题中运行?
- c - 在c中制作将小写字符串转换为大写字符串的功能
- c# - 如何使用 C# 中的 Open XML SDK 锁定 word doc 上的所有字段(CTRL-A、CTRL-F11)