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
# 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' )
这个模式条目状态:
-
类的对象标识符(OID) (
2.5.6.6
) -
对象类的名称(
个人
) -
类的描述(
标准角色
) -
所需的属性(
objectclass、sn 和 cn
) -
可选属性(
描述
、seeAlso
、telephoneNumber
和userPassword
)
3.2.2. 标准属性 复制链接链接已复制到粘贴板!
属性包含特定的数据元素,如名称或传真号码。目录服务器将数据表示为属性数据对,它是一个与特定信息片段关联的描述性 schema 属性。它们也称为 attribute-value assertions
或 AVAs
。
例如,目录可以将一块数据(如人的名称)存储在带有 standard 属性的对中。名为 Babs Jensen
的人员的条目具有 properties-data 对 cn: Babs Jensen
。
整个条目以一系列属性-数据对表示。Babs Jensen 的整个条目如下:
模式中的每个属性定义都包含以下信息:
- 唯一名称
- 属性的对象标识符(OID)
- 属性的文本描述
- 属性语法的 OID
表示以下内容:
- 属性是单值或多值
- 属性用于目录自己的使用
- 属性的来源
- 与属性关联的其他匹配规则。
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 )
attributetypes: ( 2.5.4.3 NAME 'cn' DESC 'commonName Standard Attribute'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
使用属性的语法,您可以定义可以存储在属性中的值的格式。目录服务器支持所有标准属性语法。
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' )
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' )
您可以使用标准 LDAP 操作查询和更改目录模式,因为对象类是直接定义并存储在目录服务器中的。