Linux 如何向打开的ldap架构添加新字段

Linux 如何向打开的ldap架构添加新字段,linux,active-directory,ldap,openldap,Linux,Active Directory,Ldap,Openldap,将新字段添加到现有ldap架构上的潜在字段列表中的最简单方法是什么 这将如何影响现有记录 该字段将添加到dn的最深层(每个用户帐户) 通常,您可以扩展LDAP服务器的架构。具体细节取决于提供LDAP的底层服务。(Active Directory与eDirectory略有不同,与OpenLDAP或SunOne略有不同) 然而,所有这些可能的LDAP服务器的共同点是辅助类的概念 服务器附带的基本模式通常具有可用于对象的结构类。另一个是抽象类,它实际上只是占位符,所以您可以从中继承其他类(比如结构类)

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

这将如何影响现有记录


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

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

然而,所有这些可能的LDAP服务器的共同点是辅助类的概念

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

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


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

谢谢@geoffc,我想我感兴趣的是向objectClass添加属性。我使用的是OpenLDAP,这是通过配置文件完成的,然后所有当前记录都可以访问新属性吗?我知道您不必使用字段,如果没有值,LDAP只会忽略它。但我不确定它是如何以另一种方式工作的。objectClass是列出与此对象关联的类的名称的属性。然后,对象可以承载属于这些类的所有属性。也就是说,您在这里使用的objectClass有点不正确。您可能需要为特定的objectClass添加属性。可能是一个用户、一个组、一个组织,不管怎样。谢谢,我能够更新openldap模式,部分是根据您的建议。事实证明已经有了一个扩展的模式,我将其用于蓝图并对其进行了扩展。我不确定我是否知道我所做的所有配置的意义,但它似乎有效:)