OpenLdap2.1Administrator27s Guide.doc

上传人:大张伟 文档编号:8939637 上传时间:2021-01-26 格式:DOC 页数:12 大小:93.01KB
返回 下载 相关 举报
OpenLdap2.1Administrator27s Guide.doc_第1页
第1页 / 共12页
OpenLdap2.1Administrator27s Guide.doc_第2页
第2页 / 共12页
OpenLdap2.1Administrator27s Guide.doc_第3页
第3页 / 共12页
OpenLdap2.1Administrator27s Guide.doc_第4页
第4页 / 共12页
OpenLdap2.1Administrator27s Guide.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《OpenLdap2.1Administrator27s Guide.doc》由会员分享,可在线阅读,更多相关《OpenLdap2.1Administrator27s Guide.doc(12页珍藏版)》请在三一文库上搜索。

1、本文主要介绍openLdap中schema文件,本章是根据OpenLdap2.1 Administrators Guide这本书的第八章翻译的如有不周,还请见谅:模式规范本章介绍了如何扩展slapd的用户模式由(8)使用。第一部分,分布式架构文件的细节可选模式的分布提供的定义以及在哪里获得其他定义。第二部分,扩展架构,详细介绍了如何定义新的模式的项目。本章不讨论如何延长的slapd(8)作为这需要修改源代码的系统架构。系统架构包括所有的业务属性类型或对象类,允许或要求操作属性(直接或间接)。8.1。分布式架构文件OpenLDAP是分布式供您使用架构规范。每一组被定义在一个文件中包含适当的(使用

2、include指令)在您的slapd.conf(5)文件。这些架构文件通常安装在/usr/local/etc/openldap目录/ schema目录。表8.1:提供的架构规格文件说明core.schemaOpenLDAP的核心(必须)cosine.schema余弦和互联网X.500(有用)inetorgperson.schemaInetOrgPerson的(有用)misc.schema什锦(实验)nis.schema网络信息服务(FYI)openldap.schemaOpenLDAP项目(实验)要使用这些模式的任何文件,你只需要包括在全局定义部分你的slapd.conf(5)文件所需的文件。

3、例如:# include schemainclude /usr/local/etc/openldap/schema/core.schemainclude /usr/local/etc/openldap/schema/cosine.schemainclude /usr/local/etc/openldap/schema/inetorgperson.schema其他文件可能可用。请参考OpenLDAP的常见问题(http:/www.openldap.org/faq/)。注意:您不应该修改提供的文件中定义的架构的任何项目。8.2。扩展模式通过的slapd(8)使用可扩展的架构,以支持额外的语法,匹配

4、规则,属性类型和对象类。本章详细介绍如何添加用户应用程序的属性类型和对象类的语法和使用的slapd已经支持的匹配规则。slapd的,也可以扩展到支持其他的语法,匹配规则和系统架构,但是这需要一些编程,因此这里不讨论有五个步骤,以确定新的模式:1. 获取对象的标识符2. 选择一个名称前缀3. 创建本地模式文件4. 定义自定义属性类型(如有必要)5. 定义自定义对象类8.2.1。对象标识符每个架构元素是由一个全局唯一的对象标识符(OID)。OID还用于识别的其他对象。它们通常存在于由ASN.1描述的协议。特别是,他们大量使用简单网络管理协议(SNMP)。由于OID是分层次的,您的组织可以获取一个O

5、ID,并根据需要进行分支。例如,如果您的组织被分配OID1.1。你可以支树如下:表8.2:例OID层次OID转让1.1组织的OID1.1.1SNMP元素1.1.2LDAP元素1.1.2.1AttributeTypes1.1.2.1.1myAttribute1.1.2.2对象类1.1.2.2.1myObjectClass你是,当然,自由设计的层次结构适合在你的组织的OID组织需要。不管是什么层次你选择,你应该保持分配您的注册表。这可以是一个简单的平面文件或更多的东西,如OpenLDAP的OID注册(http:/www.openldap.org/faq/index.cgi?file=197)复杂。

6、如需对象Identifers信息(和上市服务)看到http:/www.alvestrand.no/harald/objectid/。在任何情况下你应该劫持OID命名空间!为了获得不花钱注册的OID,申请OID根据互联网编号分配机构(IANA)保持民营企业弧。任何民营企业(组织)可要求根据本弧分配OID。只需填写在http:/www.iana.org/cgi-bin/enterprise.pl和你正式OID的IANA表格将被发送到你通常在几天内。你的基地OID会像1.3.6.1.4.1.X的东西,其中X是一个整数。注意:不要让“MIB/ SNMP”关于IANA页声明迷惑你。获得使用这种形式的OI

7、D可以用于任何包括确定LDAP模式元素的目的。另外,OID名称空间可能从一个国家机构(如ANSI,BSI)获得。8.2.2。名称前缀除了分配一个唯一的对象标识符,每个架构元素,你应该提供一个至少为每个元素的文本名称。该名称应该是描述性,不容易与其他冲突模式元素名称。特别是,您选择的任何名称,不应冲突与现在或将来的标准曲目名称。为了减少(但不是消除)潜在的名称冲突,则本公约不规范用几个字母前缀的名称进行本地化轨道的变化,以您的组织。较小的组织,时间越长你的前缀应该的。在下面的例子,我们选择了一个简短的前缀我(以节省空间)。这么短的前缀只会是一个非常大的,适当的全球性组织。一般来说,我们建议像“d

8、eFirm”(德国公司)或“comExample”(与相关组织有关联的元素)的东西。8.2.3。本地模式文件该对象类和attributeTypes配置文件指令可用于定义在目录条目模式规则。这是习惯性地创建一个文件来包含您的自定义架构项目的定义。我们建议您创建一个文件在/ usr/本地/ etc/ openldap目录/模式/ local.schema local.schema,然后包括在您的slapd.conf(5)文件这个文件后,立即其他架构包括指令。# include schemainclude /usr/local/etc/openldap/schema/core.schema incl

9、ude /usr/local/etc/openldap/schema/cosine.schema include /usr/local/etc/openldap/schema/inetorgperson.schema # include local schema include /usr/local/etc/openldap/schema/local.schema8.2.4。属性类型说明该attributetype指令用于定义一个新的属性类型。该指令使用相同的属性类型描述(如RFC2252定义)的属性,在子模式子项,如发现attributeTypes使用:attributetype 在属性类型

10、描述是由下面的BNF定义: 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 SUBS

11、TR woid ; Matching Rule name SYNTAX whsp noidlen whsp ; Syntax OID SINGLE-VALUE whsp ; default multi-valued COLLECTIVE whsp ; default not collective NO-USER-MODIFICATION whsp ; default user modifiable USAGE whsp AttributeUsage ; default userApplications whsp ) AttributeUsage = userApplications / dir

12、ectoryOperation / distributedOperation / ; DSA-shared dSAOperation ; DSA-specific, value depends on server其中whsp是空格(),numericoid是点分十进制形式全局唯一的OID(例如1.1.0),qdescrs是一个或多个名称,woid可以是名称或OID后面可选的长度说明符(如:10)。例如,属性类型名称和CN core.schema定义为:attributeType ( 2.5.4.41 NAME name DESC name(s) associated with the obje

13、ct EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.1532768 ) attributeType ( 2.5.4.3 NAME ( cn commonName ) DESC common name(s) assciated with the object SUP name )请注意,每个定义属性的OID,提供了一个简短的名称,简要说明。每个名字的OID的别名。的slapd(8)返回第一个上市的名字的时候返回结果。第一个属性,名称,持有directorySt

14、ring值(UTF- 8编码的Unicode)语法。它的语法是指定的OID(1.3.6.1.4.1.1466.115.121.1.15标识directoryString语法)。一个长度为32768建议指定。服务器应该支持这个长度值,但是可以支持更长的值的字段不指定大小的限制,所以是在服务器上(如slapd的)不施加大小限制被忽略。此外,平等和子串匹配使用的情况下忽略规则。下面是表列出常用的语法和匹配规则(OpenLDAP的支持这些以及更多)。表8.3:常用语法NameOIDDescriptionboolean1.3.6.1.4.1.1466.115.121.1.7Booleandistingu

15、ishedName1.3.6.1.4.1.1466.115.121.1.12DNdirectoryString1.3.6.1.4.1.1466.115.121.1.15UTF-8 stringIA5String1.3.6.1.4.1.1466.115.121.1.26ASCII stringInteger1.3.6.1.4.1.1466.115.121.1.27integerName and Optional UID1.3.6.1.4.1.1466.115.121.1.34DN plus UIDNumeric String1.3.6.1.4.1.1466.115.121.1.36numeric

16、 stringOID1.3.6.1.4.1.1466.115.121.1.38object identifierOctet String1.3.6.1.4.1.1466.115.121.1.40arbitary octetsPrintable String1.3.6.1.4.1.1466.115.121.1.44printable string表8.4:常用的匹配规则Table 8.4: Commonly Used Matching RulesName Type Description booleanMatch equality boolean octetStringMatch equalit

17、y octet string objectIdentiferMatch equality OID distinguishedNameMatch equality DN uniqueMemberMatch equality Name with optional UID numericStringMatch equality numerical numericStringOrderingMatch ordering numerical numericStringSubstringsMatch substrings numerical caseIgnoreMatch equality case in

18、sensitive, space insensitive caseIgnoreOrderingMatch ordering case insensitive, space insensitive caseIgnoreSubstringsMatch substrings case insensitive, space insensitive caseExactMatch equality case sensitive, space insensitive caseExactOrderingMatch ordering case sensitive, space insensitive caseE

19、xactSubstringsMatch substrings case sensitive, space insensitive caseIgnoreIA5Match equality case insensitive, space insensitive caseIgnoreIA5OrderingMatch ordering case insensitive, space insensitive caseIgnoreIA5SubstringsMatch substrings case insensitive, space insensitive caseExactIA5Match equal

20、ity case sensitive, space insensitive caseExactIA5OrderingMatch ordering case sensitive, space insensitive caseExactIA5SubstringsMatch substrings case sensitive, space insensitive 第二个属性,CN,是名亚型,因此它继承了语法,匹配规则和名称的使用。的commonName是另一种名称。无论属性限制为单个值。这两个都是为了用户使用的应用程序。无论是已经过时,也不集体。下面的小节提供了几个例子8.2.4.1。 myUniq

21、ueName许多组织保持为每个用户一个唯一的名称。虽然人们可以使用的displayName(RFC2798),这个属性是真正地被用户,而不是组织的控制。我们可以只复制inetorgperson.schema的显示名称的定义和更换OID,名称和描述,例如:,attributetype ( 1.1.2.1.1 NAME myUniqueName DESC unique name with my organization EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.

22、1.15 SINGLE-VALUE )但是,如果我们希望这个名称将在名称中包含断言例如(名称=*简*),该属性可交替作为一个名称,如子类型的定义:attributetype ( 1.1.2.1.1 NAME myUniqueName DESC unique name with my organization SUP name )8.2.4.2。 myPhoto许多组织保持每个用户的每一个照片。阿myPhoto属性类型可以定义为持有一张照片。当然,人们可以使用只用jpegPhoto属性(RFC2798)(或亚型)来保存照片。但是,你只能这样做,如果照片中的JPEG文件交换格式。另外,属性类型,它

23、使用的字节串语法可以定义,例如:attributetype ( 1.1.2.1.2 NAME myPhoto DESC a photo (application defined format) SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 SINGLE-VALUE )在这种情况下,语法不指定格式的照片。它的假设(也许不正确)的所有应用程序访问这个属性的值的处理上同意。如果你想支持多种照片格式,你可以定义一个单独的格式为每个属性类型,前缀类型信息的一些照片,或用ASN.1描述的价值和使用;二进制传输选项。另一种方法是为属性举行URI指向照片。这种模式可以在labele

24、dURI(RFC2079)的属性或简单地创建一个子类型,例如:attributetype ( 1.1.2.1.3 NAME myPhotoURI DESC URI and optional label referring to a photo SUP labeledURI )8.2.5。对象类规范该对象类指令用于定义一个新的对象类。该指令使用相同的对象类描述(如RFC2252定义)的属性,在子模式子项,如发现使用的对象类:objectclass 在对象类描述是由下列BNF定义:ObjectClassDescription = ( whsp numericoid whsp ; ObjectCla

25、ss identifier NAME qdescrs DESC qdstring OBSOLETE whsp SUP oids ; Superior ObjectClasses ( ABSTRACT / STRUCTURAL / AUXILIARY ) whsp ; default structural MUST oids ; AttributeTypes MAY oids ; AttributeTypes whsp )其中whsp是空格(),numericoid是一个以数字形式全局唯一的OID(例如1.1.0),qdescrs是一个或多个名称,OID的是一个或多个名称和/或的OID。8.2.

26、5.1。 myPhotoObject如果您的组织想有一个私人的结构对象类实例化的用户,你可以继承一个现有Person类,如inetOrgPerson(RFC2798),并添加任何你想要的附加属性。objectclass ( 1.1.2.2.2 NAME myPerson DESC my person SUP inetOrgPerson MUST ( myUniqueName $ givenName ) MAY myPhoto )对象类继承了inetOrgPerson的要求/允许属性类型,但需要myUniqueName和givenName和允许myPhoto。8.2.6。 OID宏为了方便管理和

27、使用的OID,slapd的(8)支持对象标识符宏。该objectIdentifier指令用于等同与OID宏(名称)。该OID有可能是来自先前定义的OID宏。 slapd.conf的(5)语法是:objectIdentifier | : 下面演示了OID宏及其定义架构中的元素使用集定义:objectIdentifier myOID 1.1 objectIdentifier mySNMP myOID:1 objectIdentifier myLDAP myOID:2 objectIdentifier myAttributeType myLDAP:1 objectIdentifier myObjectClass myLDAP:2 attributetype ( myAttributeType:3 NAME myPhotoURI DESC URI and optional label referring to a photo SUP labeledURI ) objectclass ( myObjectClass:1 NAME myPhotoObject DESC mixin myPhoto AUXILIARY MAY myPhoto )

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1