【问题标题】:How to add a new field to an open ldap schema如何将新字段添加到打开的 ldap 架构
【发布时间】:2010-08-04 20:56:11
【问题描述】:

将新字段添加到现有 ldap 架构的潜在字段列表中的最简单方法是什么?

这将如何影响现有记录?

该字段将添加到 dn(每个用户帐户)的最深层。

【问题讨论】:

    标签: linux active-directory ldap openldap


    【解决方案1】:

    通常您可以扩展 LDAP 服务器的架构。具体细节取决于提供 LDAP 的底层服务。 (Active Directory 与 eDirectory 略有不同,与 OpenLDAP 或 SunOne 中的略有不同)。

    但是,所有可能的 LDAP 服务器的共同点是辅助类的概念。

    服务器附带的基本模式通常具有结构类,这些类可以真正用于对象。另一个是抽象类,它实际上只是占位符,因此您可以让其他类(比如结构类)继承自它。也许两个结构类可能继承自同一个抽象类,从而使定义更容易和更清晰。

    最后我们来到了可能是最有用的辅助类。这些类不能独立存在,但可以将类名添加到对象类(objectClass)属性列表中,然后可以使用Aux类中定义的附加属性。

    这是扩展 LDAP Schema 最安全、最不痛苦的方法。它不涉及基本模式,也不涉及任何标准运输类别。相反,您有一个完全独立的类,您可以将其添加到您想要的任何对象中,并且很容易修改。

    【讨论】:

    • 感谢@geoffc,我想我感兴趣的是向objectClass 添加属性。我正在使用 OpenLDAP,这是我通过配置文件执行的操作,然后所有当前记录都可以访问新属性吗?我知道您不必“必须”使用字段,如果不存在任何值,LDAP 就会忽略它。但我不确定它是如何工作的。谢谢。
    • objectClass 是一个属性,它列出了与该对象关联的类的名称。然后,该对象可以托管属于这些类的所有属性。 IE。您在这里使用 objectClass 略有错误。您可能想要做的是一个特定的对象类,想要向它添加属性。可能是用户、组、组织,等等。
    • 谢谢,我能够更新 openldap 架构,部分是根据您的建议。原来已经有一个扩展模式,我将它用于蓝图并对其进行了扩展。我不确定是否知道我所做的所有配置的含义,但它似乎有效:)
    猜你喜欢
    • 2015-08-26
    • 1970-01-01
    • 1970-01-01
    • 2021-06-21
    • 1970-01-01
    • 1970-01-01
    • 2020-06-02
    • 1970-01-01
    • 2022-08-13
    相关资源
    最近更新 更多