7.2. 属性
目录条目由属性及其值组成。这些对称为 属性-值断言 或 AVAs。目录中的任何信息都与描述性属性关联。例如,cn
属性用于存储个人的完整名称,如 cn: John Smith
。
其他属性可以提供有关 John Smith 的更多信息:
givenname: John surname: Smith mail: jsmith@example.com
在架构文件中,属性由 attributetypes
行标识,后跟其 OID, name, description, description, syntax, syntax (allowed format for its value), attribute is single- or multi-valued,以及属性的定义位置。
以下示例中显示了:
例 7.2. 描述属性架构条目
attributetypes: ( 2.5.4.13 NAME 'description' DESC 'Standard LDAP attribute type' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN 'RFC 2256' )
某些属性可以缩写。这些缩写列为属性定义的一部分:
attributetypes: ( 2.5.4.3 NAME ( 'cn' 'commonName'
) ...
7.2.1. 目录服务器属性语法
属性的语法定义了属性允许的值的格式;与其他架构元素一样,使用 schema 文件条目中语法的 OID 为属性定义语法。
目录服务器使用属性的语法对条目执行排序和模式匹配。
有关 LDAP 属性语法的更多信息,请参阅 RFC 4517。
名称 | OID | 定义 |
---|---|---|
二进制 | 1.3.6.1.4.1.1466.115.121.1.5 | 已弃用。改为使用 Octet 字符串。 |
位字符串 | 1.3.6.1.4.1.1466.115.121.1.6 |
对于值为位的值,如 |
布尔值 | 1.3.6.1.4.1.1466.115.121.1.7 | 对于只有两个允许的值的属性,TRUE 或 FALSE。 |
国家/地区字符串 | 1.3.6.1.4.1.1466.115.121.1.11 | 对于限制为正好两个可打印的字符串字符的值;例如,US 代表美国。 |
DN | 1.3.6.1.4.1.1466.115.121.1.12 | 对于可区分名称(DN)的值。 |
交付方法 | 1.3.6.1.4.1.1466.115.121.1.14 | 对于包含提供信息或联系实体的首选方法的值。不同的值使用美元符号($)分隔。例如: [literal,subs="+quotes",options="nowrap",role=white-space-pre] …. telephone $ physical …. |
目录字符串 | 1.3.6.1.4.1.1466.115.121.1.15 | 对于有效 UTF-8 字符串的值。这些值不一定区分大小写。区分大小写和不区分大小写的匹配规则都可用于目录字符串和相关语法。 |
增强的指南 | 1.3.6.1.4.1.1466.115.121.1.21 | 对于包含基于属性和过滤器的复杂搜索参数的值。 |
Facsimile | 1.3.6.1.4.1.1466.115.121.1.22 | 包含 fax 号的值。 |
传真 | 1.3.6.1.4.1.1466.115.121.1.23 | 包含传输传真的镜像的值。 |
常规时间 | 1.3.6.1.4.1.1466.115.121.1.24 | 对于编码为可打印字符串的值。必须指定时区。强烈建议您使用 GMT 时间。 |
指南 | 1.3.6.1.4.1.1466.115.121.1.25 | 过时。对于包含基于属性和过滤器的复杂搜索参数的值。 |
IA5 字符串 | 1.3.6.1.4.1.1466.115.121.1.26 | 作为有效字符串的值。这些值不一定区分大小写。IA5 字符串和相关语法都提供了区分大小写且不区分大小写的匹配规则。 |
整数 | 1.3.6.1.4.1.1466.115.121.1.27 | 对于整个数字的值。 |
JPEG | 1.3.6.1.4.1.1466.115.121.1.28 | 包含镜像数据的值。 |
名称和可选 UID | 1.3.6.1.4.1.1466.115.121.1.34 | 对于包含 DN 和(可选)唯一 ID 的组合值的值。 |
数字字符串 | 1.3.6.1.4.1.1466.115.121.1.36 | 对于包含 numerals 和空格的字符串的值。 |
OctetString | 1.3.6.1.4.1.1466.115.121.1.40 | 对于二进制值;这将替换二进制语法。 |
对象类描述 | 1.3.6.1.4.1.1466.115.121.1.37 | 包含对象类定义的值。 |
OID | 1.3.6.1.4.1.1466.115.121.1.38 | 包含 OID 定义的值。 |
邮政地址 | 1.3.6.1.4.1.1466.115.121.1.41 |
对于采用 [literal,subs="+quotes",options="nowrap",role=white-space-pre] ….1234 主 St.$Raleigh, NC 12345$USA …. 每个 dstring 组件都编码为 DirectoryString 值。如果发生反斜杠和美元字符,则用引号括起来,因此不会对行分隔符出错。许多服务器将邮政地址限制为最多 30 个字符的 6 行。 |
可打印的字符串 | 1.3.6.1.4.1.1466.115.121.1.44 | 包含可打印字符串的值。 |
space-Insensitive String | 2.16.840.1.113730.3.7.1 | 包含空格敏感字符串的值。 |
telephoneNumber | 1.3.6.1.4.1.1466.115.121.1.50 | 对于以电话号码形式的值。建议您使用国际格式的电话号码。 |
Teletex Terminal Identifier | 1.3.6.1.4.1.1466.115.121.1.51 | 包含国际电话号码的值。 |
Telex Number | 1.3.6.1.4.1.1466.115.121.1.52 | 对于包含电话号、国家代码和电话终端的回答代码的值。 |
URI |
对于 URL 形式的值,如 |
7.2.2. 单值和多值属性
默认情况下,大多数属性都是多值。这意味着条目可以多次包含同一属性,其值不同。例如:
dn: uid=jsmith,ou=marketing,ou=people,dc=example,dc=com ou: marketing ou: people
例如,cn
、tel
和 objectclass
属性都有多个值。单值的属性 - 也就是说,只能指定属性的一个实例 - 在 schema 中指定,只允许单个值。例如,uidNumber
只能有一个可能的值,因此其 schema 条目具有术语 SINGLE-VALUE
。如果属性是多值,则没有值 expression。