当前位置:文档之家› Ldap文档_RFC2252+Attribute+Syntax+Definitions

Ldap文档_RFC2252+Attribute+Syntax+Definitions

Ldap文档_RFC2252+Attribute+Syntax+Definitions
Ldap文档_RFC2252+Attribute+Syntax+Definitions

版权信息:本文档版权由https://www.doczj.com/doc/e418880634.html,所有,可随意传播、打印及用于任何用途,必须

保留本文档的所有版权信息及版本信息,同时不可对本文档的任何部分进行任何修改。

版本信息

日期版本描述作者

2004-02-16 v1.0 最初版本 https://www.doczj.com/doc/e418880634.html, https://www.doczj.com/doc/e418880634.html,保留随时对本文档的任何部分作出修改,而不事先通知使用者的权利。

Attribute Syntax Definitions

属性语法定义

1、本备忘录的状态(Status of this Memo)

本文档定义了一个用于Internet通讯的Internet标准跟踪协议,为了发展的需要讨论和建议。对于这个协议的状况和地位请参照Internet官方协议标准("Internet Official Protocol Standards"(STD 1))的当前版。这个备忘录的传播是不受限制的。

版权提示(Copyright Notice)

版权Internet组织(The Internet Society (1997))。所有权利保留。

IESG提示(IESG Note)

本文档描述将一种同时提供读和更新访问的目录访问协议。更新访问需要安全认证,但这个文档并不强制实现任何安全认证机制。

与RFC2026的4.4.1节相同,本规范正在被IESG批准期间,作为被提议的标准,可能并不限于本文档所述内容。原因如下:

a、鼓励在它们被发布前,实现和交互测试这些协议(带有或没有更新访问);

b、鼓励在只读的应用程序中配置和使用这些协议。(例如,在某些应用程序中,目录

的更新访问使用某些其它安全的机制而不是LDAP,而使用LDAPv3被作为对目录

的查询语言);

c、避免阻碍别的Internet标准追踪协议的发展和发布。(这些协议需要LDAPv3的目录

服务器的查询能力,而不是更新能力)

需要警告读者的是,直到强制的验证机制被标准化之前,根据本规范编写的客户端和服务器实现了更新功能的话,它们的互操作性可能是不可靠的,或者仅提供在认证需要极度弱化的时候的互操作性。

因此在具有强制认证的LDAPv3未成为一个RFC而被批准或发布之前,不鼓励实现者发布一个实现了更新功能的LDAPv3的客户端和服务器。

目录

Attribute Syntax Definitions属性语法定义 (2)

1、本备忘录的状态(Status of this Memo) (2)

版权提示(Copyright Notice) (2)

IESG提示(IESG Note) (2)

2、摘要(Abstract) (6)

3、综述(Overview) (6)

4、总体问题(General Issues) (6)

4.1、公共编码方面(Common Encoding Aspects) (7)

4.2、属性类型(Attribute Types) (8)

4.3、语法(Syntaxes) (10)

4.3.1、值的二进制传换(Binary Transfer of Values) (10)

4.3.2、语法对象标识符(Syntax Object Identifiers) (11)

4.3.3、语法描述(Syntax Description) (13)

4.4、对象类(Object Classes) (13)

4.5、匹配规则(Matching Rules) (14)

5、属性类型(Attribute Types) (15)

5.1、标准操作性属性(Standard Operational Attributes) (15)

5.1.1、createTimestamp (15)

5.1.2、modifyTimestamp (15)

5.1.3、creatorsName (16)

5.1.4、modifiersName (16)

5.1.5、subschemaSubentry (16)

5.1.6、attributeTypes (16)

5.1.7、objectClasses (17)

5.1.8、matchingRules (17)

5.1.9、matchingRuleUse (17)

5.2、LDAP操作性属性(LDAP Operational Attributes) (17)

5.2.1、namingContexts (17)

5.2.2、altServer (18)

5.2.3、supportedExtension (18)

5.2.4、supportedControl (18)

5.2.5、supportedSASLMechanisms (18)

5.2.6、supportedLDAPVersion (18)

5.3、LDAP子模式属性(LDAP Subschema Attribute) (19)

5.3.1、ldapSyntaxes (19)

5.4、X.500子模式属性(X.500 Subschema attributes) (19)

5.4.1、dITStructureRules (19)

5.4.2、nameForms (19)

5.4.3、ditContentRules (19)

6、语法(Syntaxes) (20)

6.1、属性类型描述(Attribute Type Description) (20)

6.2、二进行(Binary) (20)

6.3、二进制字符串(Bit String) (20)

6.4、布尔(Boolean) (20)

6.5、证书(Certificate) (21)

6.6、证书列表(Certificate List) (21)

6.7、证书对(Certificate Pair) (21)

6.8、国家字符串(Country String) (21)

6.9、分辨名(DN) (22)

6.10、目录字符串(Directory String) (22)

6.11、DIT Content Rule Description (22)

6.12、Facsimile Telephone Number (23)

6.13、Fax (23)

6.14、Generalized Time (23)

6.15、IA5 String (24)

6.16、INTEGER (24)

6.17、JPEG (24)

6.18、匹配规则描述(Matching Rule Description) (24)

6.19、匹配规则使用描述(Matching Rule Use Description) (24)

6.20、MHS OR Address (24)

6.21、Name And Optional UID (25)

6.22、Name Form Description (25)

6.23、Numeric String (25)

6.24、对象类描述(Object Class Description) (25)

6.25、OID (26)

6.26、Other Mailbox (26)

6.27、Postal Address (26)

6.28、Presentation Address (27)

6.29、可打印字符串(Printable String) (27)

6.30、Telephone Number (27)

6.31、UTC Time (27)

6.32、LDAP Syntax Description (27)

6.33、DIT Structure Rule Description (28)

7、对象类(Object Classes) (28)

7.1、扩展对象类(Extensible Object Class) (28)

7.2、子模式(subschema) (28)

8、匹配规则(Matching Rules) (29)

8.1、Matching Rules used in Equality Filters (29)

8.2、Matching Rules used in Inequality Filters (30)

8.3、Syntax and Matching Rules used in Substring Filters (31)

8.4、Matching Rules for Subschema Attributes (31)

9、安全考虑(Security Considerations) (32)

9.1、泄密(Disclosure) (32)

9.2、在安全应用程序中属性值的使用(Use of Attribute Values in Security

Applications) (32)

10、感谢(Acknowledgements) (32)

11、作者地址(Authors' Addresses) (33)

12、参考书目(Bibliography) (33)

13、完整的版权声明(Full Copyright Statement) (34)

2、摘要(Abstract)

LDAP协议(参考文档[1])需要协议元素中AttributeValue域的内容为八进制的字符串。本文档定义了LDAPv3的一套语法,以及这些语法的属性值在LDAP协议的传输中的表示规则。在本文档中定义的语法被定义的属性类型的文档(包括本文档和其它文档)所遵从。本文档也定义了LDAP服务器应当支持的一套属性类型。

3、综述(Overview)

本文档为使用LDAP进行访问的目录定义了开发模式(schema)的框架。

模式(schema)是由下列内容组成的集合:

1、属性类型定义;

2、对象类(object class)定义;

3、其它信息,服务器可以使用它来决定一个条目的属性如何匹配一个过滤和属性值判

定(attribute value assertion)(在比较操作中),以及决定是否允许增加和修改操作。

第4节为属性类型、对象类、语法和匹配规则定义描述了总体需求和符号标记(notation)。

第5节是属性列表,第六节是语法列表,第七节是对象类列表。

其它文档定义了用目录条目表示现实世界对象的模式(schema)。

4、总体问题(General Issues)

本文档描述用于Internet协议的编码。

本文档中的关键字"MUST","MUST NOT","REQUIRED","SHALL","SHALL NOT","SHOULD","SHOULD NOT","RECOMMENDED"和"MAY"的含意与RFC 2119(参考文档[4])中描述的相同。

属性类型和对象类定义书写为AttributeTypeDescription和ObjectClassDescription数据类型的字符串表达方式,AttributeTypeDescription和ObjectClassDescription在X.501(93)(参考文档[3])中定义。强烈建议实现者在读本文档的剩余部分之前,首先阅读X.500的模式(shcema)描述表示法。

4.1、公共编码方面(Common Encoding Aspects)

定义属性语法的编码规则需要使用下面的BNF定义。它们基于RFC 822BNF(参考文档[13])样式(style)。

a = "a" / "b" / "c" / "d" / "e" / "f" / "g" / "h" / "i" /

"j" / "k" / "l" / "m" / "n" / "o" / "p" / "q" / "r" /

"s" / "t" / "u" / "v" / "w" / "x" / "y" / "z" / "A" /

"B" / "C" / "D" / "E" / "F" / "G" / "H" / "I" / "J" /

"K" / "L" / "M" / "N" / "O" / "P" / "Q" / "R" / "S" /

"T" / "U" / "V" / "W" / "X" / "Y" / "Z"

d ="0" / "1" / "2" / "3" / "4" /

"5" / "6" / "7" / "8" / "9"

hex-digit = d / "a" / "b" / "c" / "d" / "e" / "f" /

"A" / "B" / "C" / "D" / "E" / "F"

k = a / d / "-" / ";"

p =a / d / """ / "(" / ")" / "+" / "," /

"-" / "." / "/" / ":" / "?" / " "

letterstring =1*a

numericstring =1*d

anhstring =1*k

keystring =a [ anhstring ]

printablestring =1*p

space =1*" "

whsp =[ space ]

utf8 =

transformation of a character from ISO10646 [10]>

dstring =1*utf8

qdstring = whsp "'" dstring "'" whsp

qdstringlist =[ qdstring *( qdstring ) ]

qdstrings =qdstring / ( whsp "(" qdstringlist ")" whsp )

下列对象标识符(OBJECT IDENTIFIER)的字符串表示的BNF中,descr是对象描述符(object descriptor)的语法表示,descr由字母和数字组成,以字母开头。一个numericoid 格式的对象标识符开头不应该有多个0。(例如 "0.9.3" 被允许但"0.09.3"不应该被产生)。

当在某个值里对'oid'元素编码时,descr编码选项应该(SHOULD)比numericoid优先使用。对于一个数字对象表识符(OBJECT IDENTIFIER)来说,对象描述符是一个更可读的别名,并且这些对象标识符(被实现所分配和理解)应该(SHOULD)比numericoid更优先地使用,以得到最大的扩展(extent)可能性。在LDAP中的对象描述符例子是属性类型,对象类和匹配规则的名字。LDAP中,对象描述符的例子是属性类型,对象类和匹配规则名(matching rule name)。

oid = descr / numericoid

descr = keystring

numericoid =numericstring *( "." numericstring )

woid = whsp oid whsp

; set of oids of either form

oids = woid / ( "(" oidlist ")" )

oidlist = woid *( "$" woid )

; object descriptors used as schema element names

qdescrs = qdescr / ( whsp "(" qdescrlist ")" whsp )

qdescrlist =[ qdescr *( qdescr ) ]

qdescr = whsp "'" descr "'" whsp

4.2、属性类型(Attribute Types)

为描述子模式(subschema)"attributeTypes"属性,下面范例值展示了属性类型,它使用AttributeTypeDescription语法书写。然而,这种折行显示的方式只是为了使用它具有可读性,当这些值在协议中传输时将不包含折行。

AttributeTypeDescription按照下面的BNF进行编码,其中oid,qdescrs和qdstring的说明已经在4.1节中给出。实现者应该注意在本文档未来的版本中可能会扩展该BNF以包含附加的术语。以字符"X-"开头的术语将为用户保留,并且它必须(MUST)紧跟一个

AttributeTypeDescription ="(" whsp

numericoid whsp ; AttributeType identifier

[ "NAME" qdescrs ] ; name used in AttributeType

[ "DESC" qdstring ] ; description

[ "OBSOLETE" whsp ]

[ "SUP" woid ] ; derived from this other

; AttributeType

[ "EQUALITY" woid ; Matching Rule name

[ "ORDERING" woid ; Matching Rule name

[ "SUBSTR" woid ] ; Matching Rule name

[ "SYNTAX" whsp noidlen whsp ] ; see section 4.3

[ "SINGLE-V ALUE" whsp ] ; default multi-valued

[ "COLLECTIVE" whsp ] ; default not collective

[ "NO-USER-MODIFICATION" whsp ]; default user modifiable

[ "USAGE" whsp AttributeUsage ]; default userApplications

whsp ")"

AttributeUsage =

"userApplications" /

"directoryOperation" /

"distributedOperation" / ; DSA-shared

"dSAOperation" ; DSA-specific, value depends on server 服务器不需要在它们维护的子模式(subschema)值的描述部分提供相同的文本或其它任意的文本。服务器应该(SHOULD)为每一个AttributeTypeDescription提供至少"SUP"字段和"SYNTAX"字段中的一个。

服务器必须(MUST)实现在5.1节、5.2节和5.3节中引用的所有属性类型。

服务器可以(MAY)识别未列在本文档中的其它命名和属性,并且如果它们这样做了,则必须(MUST)在它们的子模式(subschema)条目的attributeTypes属性中发布该类型的定义。

Schema开发者绝不(MUST NOT)能创建与目前LDAP标准追踪RFC(standards-track RFCs)中定义的属性名称相冲突的属性。

一个AttributeDescription可以被用来作为AttributeTypeDescription的NAME部分的值。应注意它们是区分大小写的。

注意AttributeTypeDescription没有列出可以在扩展匹配(extensibleMatch)查询过滤器中与属性类型一同使用的匹配规则。这方面内容将在4.5节中的matchingRuleUse属性中描述。

本文档细化了X.501中的模式(schema)描述,本文档要求为了LDAP字符串语法定义,AttributeTypeDescription中的语法域(syntax field)是一个对象标识符(OBJECT IDENTIFIER)的字符串表达,同时也是该属性的某个值的最大长度的可选指示标志(在4.3.2节中定义)。

4.3、语法(Syntaxes)

本节为LDAP属性值语法编码定义了总体要求。其它所有文档定义的与LDAP相关的属性语法编码都应该与这些要求一致。

为一个给定的属性语法定义的编码规则必须产生八进制字符串。为了达到最大的扩展可能性,已编码的八进制字符串为了显示的目的,应该使用本地语言编码形式。特别需要指出的是,为属性语法定义的非二进制值的编码规则产生的字符串,在LDAP客户端显示时应该做到尽量少的翻译或根本不需要翻译。然而,有极少数的情况(例如,音频),某些属性语法并不能产生可打印的表达形式,客户端绝不(MUST NOT)能主观地认为某个不识别的语法是一个字符串表达形式。

当对任意字符串(该字符串不是一个DN,而是被用当作一个更大的生成物的一部分,并且也不是一个DN的一部分)进行编码时,反斜线(\)符号机制被用于对后面的单个字符(如"'","$"或"#")进行转义(escape)。反斜线后面紧跟一对16进制数字,该数字代表下一个字符。字符串中的一个反斜线字符本身总是使用'\5C'和'\5c'来代表。在6.27节中将给出一个例子。

对于判定值语法与属性值语法不同的配匹规则,语法也对它们进行了定义。

4.3.1、值的二进制传换(Binary Transfer of Values)

如果客户端需要对一个属性进行二进制编码,或者如果属性语法名是"1.3.6.1.4.1.1466.115.121.1.5",则使用该编码规则。LDAP的AttributeValue域(field)或AssertionValue域的内容或者是该属性值的BER编码实例,或者是匹配规则判定值ASN.1数据类型(用于与X.500一起使用)。(八进制字符串封装(OCTET STRING wrapper)内部的第一个字节是一个标签字节(tag octet)。然而,该八进制字符串仍编码成原始形式。)如果属性类型可被识别并且属性语法名是二进制(Binary)的属性语法名时,所有的服

务器在查询响应,以及在增加、比较和修改请求中解析属性值时,必须(MUST)实现这种语法形式。请求从条目中返回所有属性的客户端,必须(MUST)准备以二进制形式接收值(例如下列属性:userCertificate,binary),并且不应该(SHOULD NOT)只简单地给用户显示二进制值或不识别的值。

4.3.2、语法对象标识符(Syntax Object Identifiers)

用于LDAP的语法通过对象标识符(OBJECT IDENTIFIER)命名,它是点-数(dotted-decimal)字符串。不要将它们显示给用户。

noidlen = numericoid [ "{" len "}" ]

len =numericstring

下表列出了一些迄今为止已经为LDAP定义了的语法。H-R列指出在那个语法中的值是否是人类可识别字符串。客户和服务器不需要实现所有列出的语法,并且可以(MAY)实现其它的语法。

其它文档定义可以定义更多的语法。然而,强烈地反对定义任意其它的语法,因为它对互操作性起负面作用。当今的客户端和服务端通常不具备动态识别新语法的能力。绝大多数情况下,属性将使用为目录字符串而定义得语法。

Value being represented H-R OBJECT IDENTIFIER

=================================================================

ACI Item N 1.3.6.1.4.1.1466.115.121.1.1

Access Point Y 1.3.6.1.4.1.1466.115.121.1.2

Attribute Type Description Y 1.3.6.1.4.1.1466.115.121.1.3

Audio N 1.3.6.1.4.1.1466.115.121.1.4

Binary N 1.3.6.1.4.1.1466.115.121.1.5

Bit String Y 1.3.6.1.4.1.1466.115.121.1.6

Boolean Y 1.3.6.1.4.1.1466.115.121.1.7

Certificate N 1.3.6.1.4.1.1466.115.121.1.8

Certificate List N 1.3.6.1.4.1.1466.115.121.1.9

Certificate Pair N 1.3.6.1.4.1.1466.115.121.1.10

Country String Y 1.3.6.1.4.1.1466.115.121.1.11

DN Y 1.3.6.1.4.1.1466.115.121.1.12

Data Quality Syntax Y 1.3.6.1.4.1.1466.115.121.1.13

Delivery Method Y 1.3.6.1.4.1.1466.115.121.1.14

Directory String Y 1.3.6.1.4.1.1466.115.121.1.15

DIT Content Rule Description Y 1.3.6.1.4.1.1466.115.121.1.16

DIT Structure Rule Description Y 1.3.6.1.4.1.1466.115.121.1.17

DL Submit Permission Y 1.3.6.1.4.1.1466.115.121.1.18

DSA Quality Syntax Y 1.3.6.1.4.1.1466.115.121.1.19

DSE Type Y 1.3.6.1.4.1.1466.115.121.1.20

Enhanced Guide Y 1.3.6.1.4.1.1466.115.121.1.21

Facsimile Telephone Number Y 1.3.6.1.4.1.1466.115.121.1.22

Fax N 1.3.6.1.4.1.1466.115.121.1.23

Generalized Time Y 1.3.6.1.4.1.1466.115.121.1.24

Guide Y 1.3.6.1.4.1.1466.115.121.1.25

IA5 String Y 1.3.6.1.4.1.1466.115.121.1.26

INTEGER Y 1.3.6.1.4.1.1466.115.121.1.27

JPEG N 1.3.6.1.4.1.1466.115.121.1.28

LDAP Syntax Description Y 1.3.6.1.4.1.1466.115.121.1.54

LDAP Schema Definition Y 1.3.6.1.4.1.1466.115.121.1.56

LDAP Schema Description Y 1.3.6.1.4.1.1466.115.121.1.57

Master And Shadow Access Points Y 1.3.6.1.4.1.1466.115.121.1.29

Matching Rule Description Y 1.3.6.1.4.1.1466.115.121.1.30

Matching Rule Use Description Y 1.3.6.1.4.1.1466.115.121.1.31

Mail Preference Y 1.3.6.1.4.1.1466.115.121.1.32

MHS OR Address Y 1.3.6.1.4.1.1466.115.121.1.33

Modify Rights Y 1.3.6.1.4.1.1466.115.121.1.55

Name And Optional UID Y 1.3.6.1.4.1.1466.115.121.1.34

Name Form Description Y 1.3.6.1.4.1.1466.115.121.1.35

Numeric String Y 1.3.6.1.4.1.1466.115.121.1.36

Object Class Description Y 1.3.6.1.4.1.1466.115.121.1.37

Octet String Y 1.3.6.1.4.1.1466.115.121.1.40

OID Y 1.3.6.1.4.1.1466.115.121.1.38

Other Mailbox Y 1.3.6.1.4.1.1466.115.121.1.39

Postal Address Y 1.3.6.1.4.1.1466.115.121.1.41

Protocol Information Y 1.3.6.1.4.1.1466.115.121.1.42

Presentation Address Y 1.3.6.1.4.1.1466.115.121.1.43

Printable String Y 1.3.6.1.4.1.1466.115.121.1.44

Substring Assertion Y 1.3.6.1.4.1.1466.115.121.1.58

Subtree Specification Y 1.3.6.1.4.1.1466.115.121.1.45

Supplier Information Y 1.3.6.1.4.1.1466.115.121.1.46

Supplier Or Consumer Y 1.3.6.1.4.1.1466.115.121.1.47

Supplier And Consumer Y 1.3.6.1.4.1.1466.115.121.1.48

Supported Algorithm N 1.3.6.1.4.1.1466.115.121.1.49

Telephone Number Y 1.3.6.1.4.1.1466.115.121.1.50

Teletex Terminal Identifier Y 1.3.6.1.4.1.1466.115.121.1.51

Telex Number Y 1.3.6.1.4.1.1466.115.121.1.52

UTC Time Y 1.3.6.1.4.1.1466.115.121.1.53 一个基于字符串的语法的值的最大字符数上限,或者所有其它语法的值的最大字节数的上限,都可以通过下面的方式标明:即在属性类型描述中,在语法名的对象标识符(OBJECT

IDENTIFIER)后加上大花括号,并在大花括号中标明边界数字。例如,"1.3.6.4.1.1466.0{64}"指出服务器应该允许一个最长为64个字符的字符串,虽然该服务器可以允许更长的字符串。注意在目录字符串语法中的单个字符,可能在编码后超过一个字节,这是由于UTF-8是变长编码(variable-length encoding)方式。

4.3.3、语法描述(Syntax Description)

下面的BNF可以用来将一个短的语法描述与语法对象标识符联系起来。实现者应当注意本文档未来的版本中可能会扩充该定义以包含附加的术语。标识符以"X-"开头的术语保留给个人实验用,并且后面必须(MUST)紧跟有

SyntaxDescription = "(" whsp

numericoid whsp

[ "DESC" qdstring ]

whsp ")"

4.4、对象类(Object Classes)

表达对象类的格式在X.501(参考文档[3])中定义。在通常情况下,每个条目将包含下列内容:一个抽象类(abstract class)("top"或"alias")、至少一个结构对象类(structural object class)、以及零个或多个辅助对象类(auxiliary object class)。当给一个对象类标识符赋值时(译者注:即新建一个对象类时),该对象类是抽象对象类、还是结构对象类、还是属于辅助将被定义。在没有给某个对象类赋予一个新标识符时,该对象类定义不应该被更改。

对象类描述根据下面的BNF书写。实现者应该注意,本文档未来的版本中可能扩展该定义来包含附加的术语。标识符以"X-"开头的术语保留给个人实验用,并且后面必须(MUST)紧跟有

ObjectClassDescription ="(" whsp

numericoid whsp ; ObjectClass identifier

[ "NAME" qdescrs ]

[ "DESC" qdstring ]

[ "OBSOLETE" whsp ]

[ "SUP" oids ] ; Superior ObjectClasses

[ ( "ABSTRACT" / "STRUCTURAL" / "AUXILIARY" ) whsp ]

; default structural

[ "MUST" oids ] ; AttributeTypes

[ "MAY" oids ] ; AttributeTypes

whsp ")"

上面的范例值为实现了LDAP模式(schema)的服务器描述子模式(subschema)

"objectClasses"属性。然而,这种折行显示的方式只是为了使用它具有可读性,当这些值在协议中传输时将不包含折行。

服务器应该(SHOULD)实现第7节涉及到的所有对象类,除了可选的对象类extensibleObject。服务器可以(MAY)实现未在本文档列出的更多的对象类。如果服务器这样做的话,则必须(MUST)将这些类定义公布在子模式(subschema)条目的objectClasses 属性中。

模式(schema)开发者绝不(MUST NOT)能创建与现有标准追踪RFC文档中定义的对象类名称冲突的对象类。

4.5、匹配规则(Matching Rules)

在查询和比较操作时,服务器使用匹配规则来比较属性值和判定值(assertion value)。在修改条目时,匹配规则也用于识别要被修改或要被删除的值,并且也用于条目名称与期望DN进行比较。

在本文档中定义的绝大多数属性已经定义了相等匹配规则(equality matching rule)。

匹配规则描述根据下面的BNF书写。实现者应该注意,本文档未来的版本中可能扩展该BNF以包含附加的术语。标识符以"X-"开头的术语保留给个人实验用,并且后面必须(MUST)紧跟有

MatchingRuleDescription ="(" whsp

numericoid whsp ; MatchingRule identifier

[ "NAME" qdescrs ]

[ "DESC" qdstring ]

[ "OBSOLETE" whsp ]

"SYNTAX" numericoid

whsp ")"

MatchingRuleUse的值列出了适合与扩展匹配规则一起使用的属性。

支持匹配规则和extensible MatchingRuleUseDescription ="(" whsp

numericoid whsp ; MatchingRule identifier

[ "NAME" qdescrs ]

[ "DESC" qdstring ]

[ "OBSOLETE" ]

"APPLIES" oids ; AttributeType identifiers

whsp ")"

Match的服务器应该(SHOULD)实现第8节中描述的所有匹配规则。

服务器可以(MAY)实现未在本文档列出的的更多匹配规则,如果服务器这样做的话,

则必须(MUST)将这些匹配规则定义公布在子模式(subschema)条目的matchingRules属性中。如果服务器支持extensibleMatch,则该服务器必须(MUST)在matchingRuleUse中公布这种匹配规则和属性之间的关系。

例如,某个服务器在字符值(String-valued)属性上实现自定义的类似匹配(sound-alike matches),该服务器在子模式(subschema)条目中将包含如下信息:(1.2.3.4.5仅是一个例子,实际的匹配规则的OID将与其不同):

matchingRule: ( 1.2.3.4.5 NAME 'soundAlikeMatch'

SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )

如果该匹配规则能与属性2.5.4.41和2.5.4.15一起使用,将出现如下信息:

matchingRuleUse: ( 1.2.3.4.5 APPLIES (2.5.4.41 $ 2.5.4.15) )

那么,客户端可以发送一个使用该匹配规则的查询操作,在该查询操作中,过滤器使用extensibleMatch选项,matchingRule域是"soundAlikeMatch",并且type域是"2.5.4.41"和"2.5.4.15"。

5、属性类型(Attribute Types)

所有LDAP服务器必须(MUST)可以识别在本节定义的所有属性类型。

服务器也应该(SHOULD)可以识别所有的来自参考文档[12]中第5节的属性类型。

5.1、标准操作性属性(Standard Operational Attributes)

服务器必须(MUST)维护这些属性的值,以保持与X.501(93)中定义的一致。

5.1.1、createTimestamp

该属性应该(SHOULD)出现在使用Add操作创建的条目中。

( 2.5.18.1 NAME 'createTimestamp' EQUALITY generalizedTimeMatch

ORDERING generalizedTimeOrderingMatch

SYNTAX 1.3.6.1.4.1.1466.115.121.1.24

SINGLE-V ALUE NO-USER-MODIFICATION USAGE directoryOperation )

5.1.2、modifyTimestamp

该属性应该(SHOULD)出现在使用Modify操作修改过的条目中。

( 2.5.18.2 NAME 'modifyTimestamp' EQUALITY generalizedTimeMatch

ORDERING generalizedTimeOrderingMatch

SYNTAX 1.3.6.1.4.1.1466.115.121.1.24

SINGLE-V ALUE NO-USER-MODIFICATION USAGE directoryOperation )

5.1.3、creatorsName

该属性应该(SHOULD)出现在使用Add操作创建的条目中。

( 2.5.18.3 NAME 'creatorsName' EQUALITY distinguishedNameMatch

SYNTAX 1.3.6.1.4.1.1466.115.121.1.12

SINGLE-V ALUE NO-USER-MODIFICATION USAGE directoryOperation )

5.1.4、modifiersName

该属性应该(SHOULD)出现在使用Modify操作修改过的条目中。

( 2.5.18.4 NAME 'modifiersName' EQUALITY distinguishedNameMatch

SYNTAX 1.3.6.1.4.1.1466.115.121.1.12

SINGLE-V ALUE NO-USER-MODIFICATION USAGE directoryOperation )

5.1.5、subschemaSubentry

该属性的值是一个子模式条目(subschema entry)(如果服务器是基于X.500(93)则是子

条目(subentry))的名称,在子模式条目中服务器允许有效的属性指定模式(schema)。

( 2.5.18.10 NAME 'subschemaSubentry'

EQUALITY distinguishedNameMatch

SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 NO-USER-MODIFICATION

SINGLE-V ALUE USAGE directoryOperation )

5.1.6、attributeTypes

该属性一般位于子模式(subschema)条目中。

( 2.5.21.5 NAME 'attributeTypes'

EQUALITY objectIdentifierFirstComponentMatch

SYNTAX 1.3.6.1.4.1.1466.115.121.1.3 USAGE directoryOperation )

5.1.7、objectClasses

该属性一般位于子模式(subschema)条目中。

( 2.5.21.6 NAME 'objectClasses'

EQUALITY objectIdentifierFirstComponentMatch

SYNTAX 1.3.6.1.4.1.1466.115.121.1.37 USAGE directoryOperation )

5.1.8、matchingRules

该属性一般位于子模式(subschema)条目中。

( 2.5.21.4 NAME 'matchingRules'

EQUALITY objectIdentifierFirstComponentMatch

SYNTAX 1.3.6.1.4.1.1466.115.121.1.30 USAGE directoryOperation )

5.1.9、matchingRuleUse

该属性一般位于子模式(subschema)条目中。

( 2.5.21.8 NAME 'matchingRuleUse'

EQUALITY objectIdentifierFirstComponentMatch

SYNTAX 1.3.6.1.4.1.1466.115.121.1.31 USAGE directoryOperation )

5.2、LDAP操作性属性(LDAP Operational Attributes)

这些属性仅出现在根DSE中。(参见参考文档[1]和[3])。

服务器必须(MUST)识别这些属性名称,但是当属性对应的功能服务器没有实现时,服务器可以不必为这些属性提供值。

5.2.1、namingContexts

该属性的值反映服务器所掌管的或映像(shadow)得命名上下文(naming context:或称为命名空间)。如果服务器不掌管任何信息,(例如该服务器是一个连接到X.500目录的LDAP网关)不填写该属性。如果服务器相信它掌管整个目录,该属性将是单值的,并且该值是空字符串(声明根(root)是空的DN)。该属性允许一个客户端在连接服务器后,选择合适的基准对象(base object)来进行查询。

( 1.3.6.1.4.1.1466.101.120.5 NAME 'namingContexts'

5.2.2、altServer

该属性的值是其它服务器的URL,这些其它的服务器在该服务器不可用时,允许客户端连接它们。如果该服务器不知道其它服务器是否可以使用,不填写该属性。万一客户端连接的LDAP服务器变得不可使用,客户端可以缓存该信息。

( 1.3.6.1.4.1.1466.101.120.6 NAME 'altServer'

SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 USAGE dSAOperation )

5.2.3、supportedExtension

该属性的值是标识服务器已支持的扩展操作的对象标识符(OBJECT IDENTIFIER)。

如果服务器不支持任何扩展,不填写该属性。

( 1.3.6.1.4.1.1466.101.120.7 NAME 'supportedExtension'

SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 USAGE dSAOperation )

5.2.4、supportedControl

该属性的值是标识服务器支持的控制的对象标识符(OBJECT IDENTIFIER)。如果服务器不支持任何控制,不填写该属性。

( 1.3.6.1.4.1.1466.101.120.13 NAME 'supportedControl'

SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 USAGE dSAOperation )

5.2.5、supportedSASLMechanisms

该属性的值是服务器支持的SASL安全机制的名称。果如服务器不支持任何安全机制,不填写该属性。

( 1.3.6.1.4.1.1466.101.120.14 NAME 'supportedSASLMechanisms'

SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 USAGE dSAOperation )

5.2.6、supportedLDAPVersion

该属性的值是服务器实现的LDAP协议的版本。

( 1.3.6.1.4.1.1466.101.120.15 NAME 'supportedLDAPVersion'

5.3、LDAP子模式属性(LDAP Subschema Attribute)

该属性一般位于子模式(subschema)条目中。

5.3.1、ldapSyntaxes

服务器可以(MAY)使用该属性来列出已实现了的语法。每个值对应一个语法。

( 1.3.6.1.4.1.1466.101.120.16 NAME 'ldapSyntaxes'

EQUALITY objectIdentifierFirstComponentMatch

SYNTAX 1.3.6.1.4.1.1466.115.121.1.54 USAGE directoryOperation )

5.4、X.500子模式属性(X.500 Subschema attributes)

这些属性位于子模式(subschema)条目中。虽然一般仅X.500服务器才实现它们的功能,但所有服务器都应该(SHOULD)识别它们的名称。

5.4.1、dITStructureRules

( 2.5.21.1 NAME 'dITStructureRules' EQUALITY integerFirstComponentMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.17 USAGE directoryOperation )

5.4.2、nameForms

( 2.5.21.7 NAME 'nameForms'

EQUALITY objectIdentifierFirstComponentMatch

SYNTAX 1.3.6.1.4.1.1466.115.121.1.35 USAGE directoryOperation )

5.4.3、ditContentRules

( 2.5.21.2 NAME 'dITContentRules'

EQUALITY objectIdentifierFirstComponentMatch

SYNTAX 1.3.6.1.4.1.1466.115.121.1.16 USAGE directoryOperation )

6、语法(Syntaxes)

服务器应该(SHOULD)识别所有的在本节描述的语法。

6.1、属性类型描述(Attribute Type Description)

( 1.3.6.1.4.1.1466.115.121.1.3 DESC 'Attribute Type Description' )

该语法中的值根据4.2节中的开始部分描述的BNF进行编码。例如:

( 2.5.4.0 NAME 'objectClass'

SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )

6.2、二进行(Binary)

( 1.3.6.1.4.1.1466.115.121.1.5 DESC 'Binary' )

该语法中的值以4.3.1节中描述的方式进行编码。

6.3、二进制字符串(Bit String)

( 1.3.6.1.4.1.1466.115.121.1.6 DESC 'Bit String' )

该语法中的值应当根据下面的BNF进行编码:

bitstring ="'" *binary-digit "'B"

binary-digit ="0" / "1"

例如:

'010*******'B

6.4、布尔(Boolean)

( 1.3.6.1.4.1.1466.115.121.1.7 DESC 'Boolean' )

该语法中的值应当根据下面的BNF进行编码:

boolean ="TRUE" / "FALSE"

如果逻辑上是真,则Boolean值的编码是"TRUE",否则是"FALSE"。

LDAP配置

LDAP 中的访问控制列表 本节介绍Senior Level Linux Professional (LPIC-3) 301 考试的303.2 主题的内容。此主题的权值是2。 在本节中,学习如何: ?计划LDAP 访问控制列表 ?了解访问控制语法 ?授予和撤消LDAP 访问权限 LDAP 树中可以存储各种数据,包括电话号码、出生日期和工资表信息。其中一些数据可能是公开的,一些数据可能只能由由特定的人访问。根据用户的不同,同样的信息可能有不同的限制。例如,也许只有记录的所有者和管理员可以更改电话号码,但是每个人都可以读取这些号码。访问控制列表(ACL) 处理这些限制的配置。 计划LDAP 访问控制列表 在开始编写配置之前,应该确定要实现的目标。树的哪部分包含敏感信息?哪些属性需要保护,保护其不被谁访问?如何使用树? ACL 的组件 ACL 条目提供三条信息: 1.ACL 指定what条目和属性 2.ACL 应用于who 3.授予的access级别

指定 “what” 子句时,可以选择根据对象的区分名(distinguished name ,DN )、LDAP 风格的查询筛选器、属性列表或以上三者的 组合来进行筛选。最简单的子句允许一切内容,但也可以有很多限制。 根据 DN 筛选允许您指定精确匹配,比如 ou=People,dc=ertw,dc=com 或正则表达式 (参阅 “正则表达式”) 查询筛选器可以匹配特定的 objectClass 或其他属性。属性列表中的属性名称用逗号分隔。更复杂的匹配条件可以是 “身份是管理员的 ou=People,dc=ertw,dc=com 下的所有密码条目”。 可以灵活地确定将 ACL 应用于 who 。用户一般由绑定到树上的 DN 来识别,这称为 bindDN 。每个 LDAP 条目可以具有一个 userPassword 属性,用于对特定的用户进行身份验证。在一些上下文中,您可以将当前登录的用户称为自己, 这有利于允许用户编辑自己的详细信息。 如果用户没有绑定,则被视为匿名用户。默认情况下,匿名用户可以 读取树,所以您必须决定是否需要更改此行为。可以通过 IP 地址或 用于连接的方法(比如明文和加密的方法)来对匿名用户(或任何用户)进行分割。 一旦确定了 what 和 who ,必须确定访问级别。访问权限可以是无 一直到写 访问。还可以指定用户可以验证条目,但不可以读取;或可以允许用户读取、搜索和比较访问。 无论如何配置您的 ACL ,任何已配置的 rootDN 用户可以完全控制其数据库。不可以对此进行更改,除非将 rootDN 配置从 slapd.conf 中移除。 了解访问控制语法 ACL 的基本格式使用 Backus-Naur Form 表示,也就是: access to [ by [ ] [ ] ]+ 描述 what what 描述 ACL 强制的属性和条目。实现此目标的 BNF 表示法如清单 1 所示。 清单 1. ACL 的 what 部分的 BNF 描述

LDAP认证方式

LDAP认证方式,https加密传输 他们用的是WSS3.0 + LDAP认证方式,https加密传输,主要用于做文档管理,没有任何自己开发的代码在其中。 首先是关于崩溃问题(笔记记载如下): 前两天出了一点小故障,问题描述要比解决方案复杂得多。。 开始可以出现登录页面,但是登录上去就抱错,说找不到default页面,然后看到winows update里面有个sharepoint的升级,就运行了。重启了机器后sharepoint的务就挂了。。。 唯一能想到的修复方法就是运行那个sharepoint配置向导,但是第9步会说spadmin服务没有起,十分伤心。就扔下不管了。 今天有人要用了,只好硬着头皮看看,发现这次配置向导竟然通过了。唉,微软的东西就是搞不懂,不过网站还是起不来,就乱改了一通iis配置,然后又用配置向导修复了好几次,终于可以出现登录页面了,但总说我登录不上。研究了半天估计是ldap配置出了问题,果然一检查是把上面2的web.config给覆盖了,于是恢复了就好了。。。 现在想一想当初可能就是升级后把一些配置给我覆盖了吧。。 然后是关于WSS3.0如何使用LDAP认证的问题: 基本按照网上的一些步骤配置,不过有些改动,详细内容可以参考这个网页: https://www.doczj.com/doc/e418880634.html,/helloitsliam/archive/2006/08/15/10027.aspx 这里只说一下具体做法 1. 从一个装了moss2007的机器上copy一个microsoft.office.server.dll文件放在桌面上,在 C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\ISAPI目录,然后将这个文件拖进c:\WINDOWS\assembly目录,注意一定要拖进。。 2. 修改sharepoint管理中心网站和web网站的web.config文件,默认在 c:\Inetpub\wwwroot\wss\VirtualDirectories\80(和另一个管理端口) 在这行和之间加入: 保存关闭。注意useDNAttribute="false"一句比较重要,搜索的资料很多没有说,否则会连不上。3. 打开sharepoint的管理中心(可以从开始->管理工具->),应用程序管理,验证提供程序,编辑现有的默认验证,验证类型选中表单,这里要打开一下匿名的权限(注意稍后再给禁掉),成员身份提供程序要和前面添加的一致,如LdapDemoMembership,角色管理不用填,最下面启用客户端集成,然后保存。

LDAP协议

目录服务 目录服务就是按照树状模式组织信息,实现信息管理和服务接口的一种方式。目录服务中一般包括两个方面的内容:第一个组成部分是:数据库,这种数据库有别于日常所用到的关系型数据库,它是一种分布型的数据库,并且需要一个描述数据的规则;第二个组成部分是:访问和处理数据库的相关的协议。 目录服务和关系数据库不同,目录服务不支持批量更新事务处理能力,目录一般只执行简单的更新操作,适合于进行大量数据的检索;目录具有广泛的复制信息的能力,从而在缩短响应时间的同时,提高了可用性和可靠性;目前,目录服务技术的国际标准有两个,即较早的X.500标准和近年迅速发展的LDAP标准。 X.500虽然是一个完整协议群组,但是其目录访问协议DAP这种应用层的协议是严格按照复杂的ISO七层协议模型制定的,对相关层协议环境要求过多,主要运行在unix机器上,在许多小系统上,如PC和Macintosh(苹果机)上无法使用,因此没有多少人按照DAP开发应用程序,TCP/IP协议体系的普及,更使得这种协议越来越不适应需要。 LDAP协议 LDAP全称为Light Directory Access Protocol,轻量级目录访问协议,LDAP 协议从1993年批准,有了V1版本,1997年发布了第三个版本LDAP v3,使得LDAP协议不仅仅做为X.500的简化版,同时提供了LDAP协议许多自有功能特性,LDAP V3协议也不是一个单一的协议,而是一个协议群组,包括内容如下: RFC2251-LDAP V3协议核心协议,定义了LDAP V3协议的基本模型和操作;RFC2252-定义了LDAP V3基本数据模式(Schema)以及标准的系统数据模式,Schema包括语法、匹配规则、属性类型和对象类; RFC2253-定义了LDAP V3中的分辨名(Differentiate Name, DN)表达方式;RFC2254-定义了LDAP V3中过滤器的表达方式; RFC2255-定义了LDAP V3中统一资源地址格式; RFC2256-定义了在LDAP V3中使用X.500的Schema列表; RFC2829-定义了LDAP V3的认证方式; RFC2830-定义了LDAP V3如何通过扩展使用TLS服务; RFC1823-定义了C的关于LDAP V3客户端开发接口; RFC2847-定义了LDAP数据导入、导出的文件接口LDIF; 在这些协议中,主要定义了LDAP的内容,同时定义了信息模型,确定了LDAP 目录中所存储的信息的格式和字符集,如何表示目录信息(定义对象类、属性、匹配规则和语法等模式)。 一个命名空间:确定对信息进行的组织方式即就是目录信息树DIT,以DN和RDN 为基础的命名方式,以及LDAP信息的Internet表示方式; 一个功能模型:确定可以在信息上执行的操作的通讯协议以及在客户端尽心这些操作的API接口; 一个安全框架:保证目录中信息的安全,匿名、用户名/密码、SASL等多种认证方式以及与TLS结合的通讯保护框架; 一个操作模型:分布式的操作模型,基于Referral方式的分布式操作框架; 一个LDAP扩展框架:基于控制和扩展操作的LDAP扩展框架。

LDAP使用手册

LDAP使用手册 一、LDAP介绍 LDAP是轻量级目录访问协议的简称(Lightweight Directory Access Protocol).用于访问目录服务。它是目录访问协议的移植,但是简化了实现方法。 二、目录服务与关系数据库之间的区别 a)目录查询操作比关系数据库有更高的效率,但是更新效率比关系数据 库低 b)目录不支持关系数据库那样的复杂查询,比如两个表的连接。 c)目录不支持多操作的事物完整性,没有方式确认一些操作是全部成功 还是全部失败 d)目录能够能好和更灵活的支持子查询和匹配查询 e)目录协议更适合应用于广域网,比如因特网或者大型公司的网络 f)目录的管理,配置,和调试比关系型数据库更简单 g)在使用关系数据库之前,必须首先定义表结构(模式)才可以进行操 作。而目录中所使用的模式是由LDAP定义好的一系列类组成的。对 于目录中的每条记录中必须属于其中的一个类或者多个类。这些类定 义了该记录中可以存储的信息。 h)目录以对象的形式存储数据。信息被组织成树型结构。 i)目录服务支持分布式存储结构,容易实现数据的扩展,能满足大容量 存储的要求。 三、LDAP的优点

1:可以存储在其它条件下很难存储的管理信息 2:数据安全可靠,访问控制粒度细腻。 3:LDAP是一个标准的,开放的协议,具有平台无关性。 4:数据分布广,规模可灵活扩充。 5:LDAP目录服务器可以使任何一种开放源代码或商用的LDAP目录服务器。 四、LDAP模型 LDAP模型是从协议中继承过来的。是LDAP的一个组成部分,用于指导客户如何使用目录服务 LDAP 定义了四个模型,包括信息模型,命名模型,功能模型,安全模型。 信息模型(LDAP information model) LDAP信息模型用于描述LDAP中信息的表达方式。 LDAP信息模型包含三部分Entries Attributes Values Entry:Directry中最基本的信息单元,Entry中所包含的信息描述了现实世界中的一个真实的对象,在目录系统中它可以理解为, 目录树中的一个节点。在目录中添加一个Entry时,该 Entry必须属于一个或多个object class ,每一个object class规定了该Entry中必须要包含的属性,以及允许使 用的属性。Entry所属的类型由属性objectclass规定。 每一个Entry都有一个DN(distinguished name) 用于唯 一的标志Entry在directory中的位置。如下图所示: 根节点DN的命名有多种方法,其中之一就是域名命名法。

LDAP元素规范与应用

LDAP元素规范与应用 信息部 当前版本:v1.0 修改日期:2011-525 作者:王兵旺

目录 一、概述 (3) 二、ldap元素解读 (3) 三、ldap常用元素 (4) 3.1 常用元素 (4) 3.2 目录规范 (5) 四、ldap元素自定义 (6)

一、概述 本文仅描述ldap节点创建的方法及属性的匹配。通过剖析ldap的schema 来讲解如何有效的产生目录节点,最后达到信息化建设与维护的目标。需要了解开源openldap的安装配置与协议请参考《OpenLdap使用手册》。 二、ldap元素解读 openldap通过slapd.conf文件来引入所需的schema定义。整个schema主要描述了二大类元素:objectclass与attributetype。下面请跟我一起来解读两者之间的关联。 对于objectClass来说,初学者不妨把它理解为数据库中的一个table,如此一来,attributetype就是table中的一个coloum(这样比较好理解)。与数据库中的table,coloum不同的是,ldap中的objectClass呈现一种类似与面向对象编程中的继承关系。 objectClass在ldap中的具体表现形式就是诸多的对象类定义。如organization、country、person等等。每个对象类在声明语法中都会以下几个主要部分: 1、SUP 2、MUST 3、MAY SUP表示当前objectClass继承于另外某个objectClass。ldap的objectClass能表示一种继承的上下关系,如SUP top STRUCTURAL表示top是

ldap介绍

LDAP介绍 【摘要】在学习crm维护模块时,发现7层管理结构是存储在mysql的systree表中的,其实也可以使用LDAP来存储管理者的信息。本文介绍了一些LDAP的基本概念,及如何用LDAP来管理维护模块的7层管理者结构,并介绍了LDAP与MYSQL 的区别。 【关键词】LDAP,维护模块 1.LDAP简介 在介绍LDAP之前,先简单介绍一下目录服务。目录服务就是按照树状模式组织信息,实现信息管理和服务接口的一种方式。目录服务中一般包括两个方面的内容:第一个是数据库,这种数据库有别于日常所用到的关系型数据库,它是一种分布型的数据库,并且需要一个描述数据的规则;第二个组成部分是:访问和处理数据库的相关的协议。目录服务和关系数据库不同,目录服务不支持批量更新事务,目录一般只执行简单的更新操作,适合于进行大量数据的检索;目录具有广泛的复制信息的能力,从而在缩短响应时间的同时,提高了可用性和可靠性;目前,目录服务技术的国际标准有两个,即较早的X.500标准和近年迅速发展的LDAP标准。目录数据库常用于管理树状组织结构信息,如行政,人事教育,政府部门,社会保障,公安,军队信息等。 LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。LDAP协议从1993年批准,有了V1版本,1997年发布了第三个版本LDAP v3,LDAP V3协议也不是一个单一的协议,而是一个协议群组,包括内容如下:RFC2251-LDAP V3协议核心协议,定义了LDAP V3协议的基本模型和操作; RFC2252-定义了LDAP V3基本数据模式(Schema)以及标准的系统数据模式,Schema 包括语法、匹配规则、属性类型和对象类; RFC2253-定义了LDAP V3中的分辨名(Differentiate Name, DN)表达方式; RFC2254-定义了LDAP V3中过滤器的表达方式; RFC2255-定义了LDAP V3中统一资源地址格式; RFC2256-定义了在LDAP V3中使用X.500的Schema列表;

OpenLdap使用手册

OpenLdap使用手册 一、文档概述 (2) 二、LDAP简介 (2) 2.1 LDAP介绍 (2) 2.2 LDAP优劣 (3) 2.3 LDAP协议 (3) 2.4 LDAP服务器 (4) 2.5 LDAP使用权限 (4) 2.6 LDAP目标 (4) 三、安装配置 (5) 3.1 软件安装 (5) 3.2 软件配置 (5) 3.3 软件运行 (5) 3.4 初始数据 (6) 四、LDAP应用 (8) 4.1 LDAP常用属性 (8) 4.2LDAP Schema语法 (9) 五、LDAP客户端 (9) 5.1 增加目录属性 (10)

5.2 删除目录属性 (11) 5.3 修改目录属性 (11) 5.4 增加目录 (11) 5.5 修改目录 (12) 5.6 删除目录 (13) 六、应用举例 (14) 附录: (15) X.500 (15) 一、文档概述 本文从介绍ldap入手,讲述了ldap的使用场合,并进一步的指导用户进行openldap安装与配置。是新手入门的一个教程。 二、LDAP简介 2.1 LDAP介绍 LDAP的英文全称是Lightweight Directory Access Protocol,它是基于 X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP 支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。LDAP目录中可以存储各种类型的数据:电子邮件地址、邮件路由信息、人力资源数据、公用密匙、联系人列表,等等。通过把LDAP目录作为系统集成中的一个

LDAP简介

科技部科技基础性工作专项资金重大项目 研究成果 项目名称:我国数字图书馆标准规范建设 子项目名称:数字资源检索与应用标准规范研究 项目编号:2002DEA20018 研究成果类型:研究报告 成果名称:LDAP协议应用指南 成果编号:CDLS-S07-002 成果版本:总项目组推荐稿 成果提交日期:2003年2月 撰写人:张智雄(中国科学院文献情报中心)

项目版权声明 本报告研究工作属于科技部科技基础性工作专项资金重大项目《我国数字图书馆标准规范建设》的一部分,得到科技部科技基础性工作专项资金资助,项目编号为2002DEA20018。按照有关规定,国家和《我国数字图书馆标准规范建设》课题组拥有本报告的版权,依照《中华人民共和国著作权法》享有著作权。 本报告可以复制、转载、或在电子信息系统上做镜像,但在复制、转载或镜像时须注明真实作者和完整出处,并在明显地方标明“科技部科技基础性工作专项资金重大项目《我国数字图书馆标准规范建设》资助”的字样。 报告版权人不承担用户在使用本作品内容时可能造成的任何实际或预计的损失。 作者声明 本报告作者谨保证本作品中出现的文字、图片、声音、剪辑和文后参考文献等内容的真实性和可靠性,愿按照《中华人民共和国著作权法》,承担本作品发布过程中的责任和义务。科技部有关管理机构对于本作品内容所引发的版权、署名权的异议、纠纷不承担任何责任。 《我国数字图书馆标准规范建设》课题组网站(https://www.doczj.com/doc/e418880634.html,)作为本报告的第一发表单位,并可向其他媒体推荐此作品。在不发生重复授权的前提下,报告撰写人保留将经过修改的项目成果向正式学术媒体直接投稿的权利。

LDAP中文学习手册

L D A P使用手册一、LDAP介绍 LDAP是轻量级目录访问协议的简称(LightweightDirectoryAccessProtocol). 用于访问目录服务。它是X.500目录访问协议的移植,但是简化了实现方法。 二、目录服务与关系数据库之间的区别 a)目录查询操作比关系数据库有更高的效率,但是更新效率比关系数据库低 b)目录不支持关系数据库那样的复杂查询,比如两个表的连接。 c)目录不支持多操作的事物完整性,没有方式确认一些操作是全部成功还是全 部失败 d)目录能够能好和更灵活的支持子查询和匹配查询 e)目录协议更适合应用于广域网,比如因特网或者大型公司的网络 f)目录的管理,配置,和调试比关系型数据库更简单 g)在使用关系数据库之前,必须首先定义表结构(模式)才可以进行操作。而目 录中所使用的模式是由LDAP定义好的一系列类组成的。对于目录中的每条记录中必须属于其中的一个类或者多个类。这些类定义了该记录中可以存储的信息。 h)目录以对象的形式存储数据。信息被组织成树型结构。 i)目录服务支持分布式存储结构,容易实现数据的扩展,能满足大容量存储的 要求。 三、LDAP的优点 1:可以存储在其它条件下很难存储的管理信息 2:数据安全可靠,访问控制粒度细腻。

3:LDAP是一个标准的,开放的协议,具有平台无关性。 4:数据分布广,规模可灵活扩充。 5:LDAP目录服务器可以使任何一种开放源代码或商用的LDAP目录服务器。四、LDAP模型 LDAP模型是从X.500协议中继承过来的。是LDAP的一个组成部分,用于指导客户如何使用目录服务 LDAP定义了四个模型,包括信息模型,命名模型,功能模型,安全模型。 1.LDAP信息模型(LDAPinformationmodel) LDAP信息模型用于描述LDAP中信息的表达方式。 LDAP信息模型包含三部分EntriesAttributesValues(条目属性值) Entry:Directry中最基本的信息单元,Entry中所包含的信息描述了现实世界中的一个真实的对象,在目录系统中它可以理解为,目录树中的 一个节点。在目录中添加一个Entry时,该Entry必须属于一个 或多个objectclass,每一个objectclass规定了该Entry中必须 要包含的属性,以及允许使用的属性。Entry所属的类型由属性 objectclass规定。每一个Entry都有一个 DN(distinguishedname)用于唯一的标志Entry在directory中 的位置。如下图所示: 根节点DN的命名有多种方法,其中之一就是域名命名法。例如:我们要以公司 的网址作为公司目录树的根节点。如https://www.doczj.com/doc/e418880634.html,那 么根节点的DN应该为DN:dc=sohu,dc=com 上图中根节点的DN:dc=example,dc=com而该根节点有两个子节 点,ou=people,和ou=servers。

LDAP服务器

第一八章LDAP服务器 学习目标: 了解LDAP服务器的相关知识。学会配置Mirapoint Directory目录服务器。 1LDAP基础 LDAP的英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。现在LDAP技术不仅发展得很快而且也是激动人心的。在企业范围内实现LDAP可以让运行在几乎所有计算机平台上的所有的应用程序从 LDAP目录中获取信息。LDAP目录中可以存储各种类型的数据:电子邮件地址、邮件路由信息、人力资源数据、公用密匙、联系人列表,等等。通过把 LDAP 目录作为系统集成中的一个重要环节,可以简化员工在企业内部查询信息的步骤,甚至连主要的数据源都可以放在任何地方。 1.1 LDAP的优势 如果需要开发一种提供公共信息查询的系统一般的设计方法可能是采用基于WEB的数据库设计方式,即前端使用浏览器而后端使用WEB服务器加上关系数据库。后端在Windows的典型实现可能是Windows NT + IIS + Acess数据库或者是SQL服务器,IIS和数据库之间通过ASP技术使用ODBC进行连接,达到通过填写表单查询数据的功能; 后端在Linux系统的典型实现可能是Linux+ Apache + postgresql,Apache 和数据库之间通过PHP3提供的函数进行连接。使用上述方法的缺点是后端关系数据库的引入导致系统整体的性能降低和系统的管理比较繁琐,因为需要不断的进行数据类型的验证和事务的完整性的确认;并且前端用户对数据的控制不够灵活,用户权限的设置一般只能是设置在表一级而不是设置在记录一级。 目录服务的推出主要是解决上述数据库中存在的问题。目录与关系数据库相似,是指具有描述性的基于属性的记录集合,但它的数据类型主要是字符型,为了检索的需要添加了BIN (二进制数据)、CIS(忽略大小写)、CES(大小写敏感)、TEL(电话型)等语法(Syntax),而不是关系数据库提供的整数、浮点数、日期、货币等类型,同样也不提供象关系数据库中普遍包含的大量的函数,它主要面向数据的查询服务(查询和修改操作比一般是大于10:1),不提供事务的回滚(rollback)机制,它的数据修改使用简单的锁定机制实现All-or-Nothing,它的目标是快速响应和大容量查询并且提供多目录服务器的信息复制功能。 现在该说说LDAP目录到底有些什么优势了。现在LDAP的流行是很多因数共同作用的结果。可能LDAP最大的优势是:可以在任何计算机平台上,用很容易获得的而且数目不断增加的LDAP的客户端程序访问LDAP目录。而且也很容易定制应用程序为它加上LDAP的支持。

LDAP协议与Weblogic Server设置简介

LDAP:轻量级目录访问协议及相关设置简介 LDAP的英文全称是Lightweight Directory Access Protocol,即轻量级目录访 问协议.我们知道,人们对计算机网络的使用和管理涉及了各种庞杂的资源,信息. 为了提高性能,便于使用,有效管理分布式应用的服务,资源,用户及别的对象信 息,这些信息需要清晰,一致地组织起来.基于这样的需求,描述各种用户,应用, 文件,打印机和其它可从网络访问的资源的信息被集中到一个特殊的数据库中, 这种数据库被称为目录.目录存放对象的公开或非公开的信息,这些信息以某种 顺序组织,描述了每个对象的细节.电话簿,图书馆藏书卡片目录就是常见的目录. LDAP是基于X.500标准的,访问 X.500 目录需要某种协议,例如:目录访问 协议 (DAP).然而,DAP 需要大量的系统资源和支持机制来处理复杂的协议.LDAP 仅通过使用原始 X.500目录存取协议 (DAP) 的功能子集而减少了所需的系统 资源消耗,而且可以根据需要定制.此外,与X.500不同,LDAP支持TCP/IP,这对访 问Internet是必须的. 为了能对LDAP协议进行更好的理解,我们需要对以下概念有初步的认识: 目录:Directory,存放对象的信息,这些信息以某种顺序组织,详细描述每个对象. 目录信息树:DIT,Directory Information Tree,目录条目的集合构成了目录信息树。 条目:Entry,目录信息树中的一个结点,是一个对象信息的集合,是目录信息中最 基本的单位,包含该对象的一系列属性. 属性:Attribute,属性描述对象的特征.一个属性由属性类型(type)和一个或多 个属性值 (values)构成. 相对标识名:RDN,Relative Distinguished Name,条目的名字. 唯一标识名:DN,Distinguished Name,在一个目录信息树中唯一标识一个条目的 名字. LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol) 是实现提供被称为目录服务的信息服务。目录服务是一种特殊的数据库系统, 其专门针对读取,浏览和搜索操作进行了特定的优化。目录一般用来包含描述性的,基于属性的信息并支持精细复杂的过滤能力。目录一般不支持通用数据库针 对大量更新操作操作需要的复杂的事务管理或回卷策略。而目录服务的更新则一 般都非常简单。这种目录可以存储包括个人信息、web链结、 jpeg图像等各种 信息。为了访问存储在目录中的信息,就需要使用运行在TCP/IP之上的访问协议—LDAP。 LDAP目录中的信息是是按照树型结构组织,具体信息存储在条目(entry)的 数据结构中。条目相当于关系数据库中表的记录;条目是具有区别名DN (Distinguished Name)的属性(Attribute),DN是用来引用条目的,DN相当 于关系数据库表中的关键字(Primary Key)。属性由类型(Type)和一个或多 个值(Values)组成,相当于关系数据库中的字段(Field)由字段名和数据类 型组成,只是为了方便检索的需要,LDAP中的Type可以有多个Value,而不是 关系数据库中为降低数据的冗余性要求实现的各个域必须是不相关的。LDAP中 条目的组织一般按照地理位置和组织关系进行组织,非常的直观。LDAP把数据

Java LDAP介绍

Java:LDAP (1) 什么是LDAP LDAP, Lightweight Directory Access Protocol, 轻量级目录访问协议,是X.500协议的简化版本。LDAP的规范为RFC 2251(ftp://https://www.doczj.com/doc/e418880634.html,/in-notes/rfc2251.txt),"The Lightweight Directory Access Protocol (v3)"。Microfost的Active Directory,Lotus的Domino Directory、IBM的WebSphere都是LDAP的实现,LDAP的开源实现是OpenLDAP。 LDAP由以下几部分组成: LDAP协议,一个标准的、可扩展的Internet目录访问协议; 使用目录的四种模型:信息模型,信息如何存储;命名模型,如何安排和引用目录数据;功能模型,如何操作数据;安全模型,如何进行访问控制; LDIF,LDAP Data Interchange Format,标准的交换目录数据的文本格式; LDAP服务软件; 和LDAP服务软件捆绑在一起的命令行工具和基于LDAP的应用程序; LDAP编程API,用于开发LDAP客户应用程序。 (2) LDAP协议 客户端发起一个请求消息,请求LDAP服务器的某条目录信息,该请求包含唯一的消息ID,如下图。 服务器收到该请求后,返回客户需要的信息,然后在一条独立的消息中返回结果代码。客户端也可以在一条消息中请求多条目录信息,服务器依次返回这些目录条目,并在最后一条消息中返回结果代码,如下图。

客户端还可以同时发出多条请求消息,服务器响应这些请求,响应中包含请求消息ID,如下图。 $False$ LDAP协议的操作分为三大类: 查询操作:search, compare 更新操作:add, delete, modify, modify DN(rename) 认证和访问控制:bind, unbind, abandon 下图是一个典型的LDAP协议操作过程。 I. 客户端向LDAP服务器打开TCP连接,提交一个bind操作,该操作包含客户用来炎症的目录条目,以及验证凭据(通常为口令或者证书);

LDAP基本概念介绍(Lightweight Directory Access Protocol)

LDAP基本概念介绍(Lightweight Directory Access Protocol) 如果你在计算机行业工作,那么对LDAP可能早有耳闻了。想深入地了解LDAP吗?那么可以好好地读一下这篇文章。这篇介绍性的文章是一系列介绍如何在企业中设计、实现和集成LDAP环境的文章的头一篇。主要是先让你熟悉一下LDAP的基本概念,那些比较困难的细节问题将放到以后讨论。在这篇文章中我们将要介绍: 什么是LDAP? 什么时候该用LDAP存储数据? LDAP目录树的结构 单独的LDAP记录 作为例子的一个单独的数据项 LDAP复制 安全和访问控制 现在LDAP技术不仅发展得很快而且也是激动人心的。在企业范围内实现LDAP可以让运行在几乎所有计算机平台上的所有的应用程序从LDAP目录中获取信息。LDAP目录中可以存储各种类型的数据:电子邮件地址、邮件路由信息、人力资源数据、公用密匙、联系人列表,等等。通过把LDAP目录作为系统集成中的一个重要环节,可以简化员工在企业内部查询信息的步骤,甚至连主要的数据源都可以放在任何地方。如果Oracle、Sybase、Informix或Microsoft SQL数据库中已经存储了类似的数据,那么LDAP和这些数据库到底有什么不同呢?是什么让它更具优势?请继续读下去吧!

什么是LDAP? LDAP的英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP 的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。 怎么使用LDAP这个术语呢? 在日常交谈中,你可能会听到有些人这么说:“我们要把那些东西存在LDAP中吗?”,或者“从LDAP数据库中取出那些数据!”,又或者“我们怎么把LDAP和关系型数据库集成在一起?”。严格地说,LDAP根本不是数据库而是用来访问存储在信息目录(也就是LDAP目录)中的信息的协议。更为确切和正式的说法应该是象这样的:“通过使用LDAP,可以在信息目录的正确位置读取(或存储)数据”。但是,也没有必要吹毛求疵,尽管表达得不够准确,我们也都知道对方在说什么。 LDAP目录是数据库吗? 就象Sybase、Oracle、Informix或Microsoft的数据库管理系统(DBMS)是用于处理查询和更新关系型数据库那样,LDAP服务器也是用来处理查询和更新LDAP目录的。换句话来说LDAP目录也是一种类型的数据库,但是不是关系型数据库。不象被设计成每分钟需要处理成百上千条数据变化的数据库,例如:在电子商务中经常用到的在线交易处理(OLTP)系统,LDAP主要是优化数据读取的性能。 LDAP目录的优势 现在该说说LDAP目录到底有些什么优势了。现在LDAP的流行是很多因数共同作用的结果。我在这里说的不过是一些基本的原因,请你注意一下这不过是一小部分原因。 可能LDAP最大的优势是:可以在任何计算机平台上,用很容易获得的而且数目不断增加的LDAP的客户端

OpenLDAP

OpenLDAP篇 LDAP(轻量级目录访问服务),通过配置这个服务,我们也可以在linux下面使用目录的形式管理用户,就像windows下面的AD一样,方便我们管理。下面我们就一起来配置openldap服务。本文运行环境:CentOS 5。 软件需求: db-4.7.25.tar.gz (https://www.doczj.com/doc/e418880634.html,/technology/global/cn/software/products/berkeley-db/index.h tml) openldap-stable-20090411.tgz (https://www.doczj.com/doc/e418880634.html,/software/download/) phpldapadmin-0.9.8.5.tar.gz (https://www.doczj.com/doc/e418880634.html,/wiki/index.php/Main_Page) 另外,运行phpldapadmin需要apache和php的支持,有关apache和php的安装,大家可以参考我的另一篇文章:Linux服务器部署系列之一—Apache篇 (https://www.doczj.com/doc/e418880634.html,/379574/168534) 1. 安装openldap 1)安装BerkeleyDB # tar zxvf db-4.7.25.tar.gz # cd db-4.7.25/build_unix # ../dist/configure # make

# make install # vi /etc/ld.so.conf 加入一下语句: /usr/local/BerkeleyDB.4.7/lib # /sbin/ldconfig 2)安装openldap # tar zxvf openldap-stable-20090411.tgz # cd openldap-2.4.16 # env CPPFLAGS=”-I/usr/local/BerkeleyDB.4.7/include” LDFLAGS=” -L/usr/local/BerkeleyDB.4.7/lib” ./configure --prefix=/usr/local/openldap --enable-ldbm # make depend # make # make install 3)检查安装结果 安装好后,系统会自动生成一些.schema文件,我们可以使用命令:# ll /usr/local/openldap/etc/openldap/schema/*.schema来查看,如下图:

相关主题
文本预览
相关文档 最新文档