3.2. Standard 模式


目录架构通过对 data 值的大小、范围和格式设置约束来维护目录中存储的数据的完整性。该架构标识目录包含的不同类型条目(如人员、设备和组织)以及每个条目可用的属性。

目录服务器中的预定义模式包含标准的 LDAP 模式和应用程序特定模式,以支持服务器的功能。您可以通过添加新的对象类和属性来满足目录的唯一需求来扩展架构。

3.2.1. 模式格式

目录服务器的模式格式基于 LDAP 协议的版本 3 构建。此协议要求目录服务器通过 LDAP 本身发布其模式,允许目录客户端应用程序以编程方式检索架构并调整其行为。您可以在 cn=schema 条目中找到 Directory 服务器的全局模式集合。

目录服务器模式与 LDAPv3 模式不同,因为它使用其专有对象类和属性。另外,它使用名为 X-ORIGIN 389 Directory Server 的 schema 条目中的私有字段,它描述了最初定义了 schema 条目的位置。

当您在标准 LDAPv3 模式中定义模式条目时,X-ORIGIN 389 Directory Server 字段指的是 RFC 2252。如果红帽为 Directory Server 使用定义了该条目,则 X-ORIGIN 389 Directory Server 字段包含值 389 Directory Server。例如,标准 person 对象类出现在 schema 中:

# objectclasses: ( 2.5.6.6 NAME 'person' DESC 'Standard Person Object Class' SUP top
MUST (objectclass $ sn $ cn) MAY (description $ seeAlso $ telephoneNumber $ userPassword)
X-ORIGIN 'RFC 2252' )
Copy to Clipboard Toggle word wrap

这个模式条目状态:

  • 类的对象标识符(OID) (2.5.6.6)
  • 对象类的名称(个人)
  • 类的描述(标准角色)
  • 所需的属性(objectclass、sn 和 cn)
  • 可选属性(描述seeAlsotelephoneNumberuserPassword)

3.2.2. 标准属性

属性包含特定的数据元素,如名称或传真号码。目录服务器将数据表示为属性数据对,它是一个与特定信息片段关联的描述性 schema 属性。它们也称为 attribute-value assertionsAVAs

例如,目录可以将一块数据(如人的名称)存储在带有 standard 属性的对中。名为 Babs Jensen 的人员的条目具有 properties-data 对 cn: Babs Jensen

整个条目以一系列属性-数据对表示。Babs Jensen 的整个条目如下:

dn: uid=bjensen,ou=people,dc=example,dc=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
cn: Babs Jensen
sn: Jensen
givenName: Babs
givenName: Barbara
mail: bjensen@example.com
Copy to Clipboard Toggle word wrap

模式中的每个属性定义都包含以下信息:

  • 唯一名称
  • 属性的对象标识符(OID)
  • 属性的文本描述
  • 属性语法的 OID
  • 表示以下内容:

    1. 属性是单值或多值
    2. 属性用于目录自己的使用
    3. 属性的来源
    4. 与属性关联的其他匹配规则。

cn 属性定义会出现在 schema 中,如下所示:

attributetypes: ( 2.5.4.3 NAME 'cn' DESC 'commonName Standard Attribute'
     SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
Copy to Clipboard Toggle word wrap

使用属性的语法,您可以定义可以存储在属性中的值的格式。目录服务器支持所有标准属性语法。

3.2.3. 标准对象类

对象类代表一个实际对象,如个人或传真机器。它用于对相关的信息进行分组。在使用对象类前,您必须在 schema 中识别对象类及其属性。默认情况下,该目录识别对象类的标准列表。

每个目录条目都至少属于一个对象类。当您将对象类放在条目上的 schema 中时,它会通知 Directory Server 具有一组特定的属性值,且必须具有另一个较小的所需属性值。

对象类定义中提供了以下信息:

  • 唯一名称
  • 对象标识符(OID)
  • 一组强制属性
  • 组允许或可选属性

模式中的标准 person 对象类:

objectclasses: ( 2.5.6.6 NAME 'person' DESC 'Standard Person Object Class' SUP top
     MUST (objectclass $ sn $ cn) MAY (description $ seeAlso $ telephoneNumber $ userPassword)
     X-ORIGIN 'RFC 2252' )
Copy to Clipboard Toggle word wrap
注意

您可以使用标准 LDAP 操作查询和更改目录模式,因为对象类是直接定义并存储在目录服务器中的。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat