翻译:Sun ONE Directory Server 5.2 Reference Manual

第四部分 目录服务架构
翻译约定:红色字体为含义不确定、词不达意或译者注。

这部分章节提供了目录服务架构方面的参考信息,包含一个对象类、属性、操作属性的全面列表。包含如下章节:
对象类参考
属性参考
操作参考

9关于架构
本章提供了一些有关目录架构基本概念的概览和一些用来描述目录架构的文件的概览。其中描述了对象类、属性和对象
idOIDs),并且简单讨论了一下”扩展服务器架构”和”架构检测”。
架构定义
目录架构是定义数据如何在目录中进行存储的一系列规则。数据以目录条目(
Entry
的形式进行存储。每一个条目都是一系列属性和属性值的集合。每个条目必须有一个对象类。对象类指定了条目所描述的对象的种类,并且定义了一系列该对象所应
所包含的属性。架构定义了条目所允许的类型、他们的属性结构和属性格式。如果架构无法满足你的需求,你可以对其进行扩展和修改。
关于对象类的详细信息、属性以及目录服务是如何使用架构的,请参阅“Sun ONEDirectory Server Deployment Guide”



对象类
ldap中,目标类定义了一系列可以被用来定义条目的属性集。LDAP标准提供了一些基本的对象类的类型,包括:
Groups:包括未整理的单独的对象或对象组。including unordered lists of individual objects or groups of objects.
Locatins:比如国家名称和描述
Organizations
People
Devices
对象类可以被再细分成以下三个类型:

Structural
指定了条目有哪些属性,以及每个条目可出现在DIT的哪个位置。这种目标类描绘了与真实世界的对应关系。条目必须属于一个对象类,因此大多数对象类是Structural对象类。
Auxiliary指定了条目可以包含的属性,一个auxiliary对象类不用来描绘一个真实世界的目标,但是可以与structural对象类关联以作为对其的补充。每个条目可能只属于一个单独的structural对象类,但是可以不属于任何auxiliary对象类或属于多个对象类。
Abstract
被定义成只作为超级类或者作为其他(structural)对象类的模板。abstract对象类是一个收集一系列可以被structural对象类通用的一些属性的方法。因此这些类可以被作看做由abstract类衍生出来的类,而不是由scratch定义的。An abstract object class is a way of collecting a set of attributes that will be common to a set of structural object classes, so that these classes may be derived as subclasses of the abstract class rather than being defined from scratch.)条目可能不属于任何abstract对象类。
注意:目录服务当前不能区分
structural对象类和auxiliary对象类。

必须的
(Required)属性和可选的(Allowed)属性
每一个对象类包括一系列必须的属性和可选的属性。
Required属性必须在对象类的条目中出现。所有条目都会请求其所在的目标类的所有属性。
Allow
属性可以出现在使用该对象类的条目中。
例如:Object Class = person
Required Attributes
objectCalss
cn(common name)
sn(surname)
Allowed Attributes
description
seeAlso
telephoneNumber
userPassword
对象类的继承
每一个条目必须被指定一个
structural对象类。所有的对象类都继承了顶级对象类。它们也可以从其他对象类继承。对于一个指定的条目来说,服务器的对象类结构决定了哪些属性是required属性,哪些属性是allowed属性。例如,一个person条目的对象类结构通常如下:
objectClass:top
bojectClass:person
objectClass:organizationalPerson
objcetClass:inetOrgperson
在这个结构中,
inetOrgperson会从organizationalPersonperson对象类继承属性。因此当我们赋予一个条目inetOrgperson对象类时,它将自动继承上级对象类的requiredallowed属性。
注意,对象类的继承依赖于它在
schema.ldif文件中出现的顺序。也就是说,对象类在该文件中出现的顺序必须与你设计的继承结构保持一致(这个顺序必须与对象类的继承保持一致),否则服务将不会启动。因此,一个对象类如果想要从另一个对象类继承属性,在schema.ldif文件中,它就必须出现在另一个对象类的后面。

属性
目录中的数据以”属性-属性值”对的形式出现。目录中的任何信息都与一个可描述的属性(
descriptive attribute)相关。
举例来说,属性
CommonNamecn属性被用来存储人的姓名。一个叫Barbara(Babs)Jensen的人在目录中可以用如下形式存储:
cn:Babs Jensen
目录中每一个”人”的条目可以在
inetOrgperson对象类中被一系列属性定义。其他可以被用来定义这个条目的属性包括:
givenname:Barbara
surname:Jensen
mail:bjensen@example.com

属性语法(
Attribute Syntax
每一个属性都有一个用来描述属性所提供的信息类型的语法定义(即定义属性值的类型)。
Each attribute has a syntax definition that describes the type of information provided by the attribute.
属性语法被目录服务用来执行排序和模式匹配
pattern matching
9-1列举了可以被应用到属性的不同的语法方式,并给出了每一种语法方式的定义和OID

此表以后在添加上,先略着,哈哈。

单值和多值属性
缺省的,大多数属性是多值属性。这意味着一个条目的同一个属性可以包含多个值。例如:
cntelobjectClass都是可以有多值的属性。单值属性如下:uidNumber



Directory Server 5.2支持的目录架构
用来描述
Sun ONE Directory Server 5.2的目录服务架构的文件存放在以下位置:
ServerRoot/slapd-serverID/config/schema
你可以通过创建新的对象类和属性的方式来修改目录服务架构。这些修改被存储在一个叫做
99user.ldfi的文件当中。你不应当修改Directory Server自带的标准文件,因为这有可能破坏其与Sun ONE其他产品的兼容性,或导致与其他产品的一些互操作问题。(反正就是容易有问题不让改)
更多有关
Directory Server如何存储信息以及一些规划目录服务架构的建议,请参考Sun ONE Directory Server Deployment Guide.

9-2 目录服务所使用的架构文件
架构文件名
目的
00core.ldif             X.500LDAP标准所推荐的核心架构,这个架构由目录服务自己使用。
05rfc2247.ldif 来自RFC 2247以及与其相关的试用架构“Using Domains in LDAP/X.500 Distinguished Names.”
05rfc2927.ldif 来自RFC 2307的架构“An Approach for Using LDAP as a Network Information Service”
20subscriber.ldif     Sun ONENortel签署的协同工作的公共基础架构。
25java-object.ldif 来自RFC 2713的架构“Schema for Representing Java Objects in an LDAP Directory.”
28pilot.ldif 来自试用版的RFCs,主要是来自RFC 1274–一个在新的部署中已经不再被推荐的RFC.
30ns-common.ldif  Sun ONE的公共架构。
50ns-admin.ldif             Sun ONE管理服务所使用的基础架构。
50ns-directory.ldif 专门由Directory Server 4.x所试用的架构。
50ns-value.ldif              Sun ONE服务器“value item”架构。
99user.ldif 用户对架构的修改。

9-3列出了Sun ONE其他产品所使用的架构文件。
9-3     Sun ONE其他产品所使用的架构文件
架构文件名
目的
50iplanet-servicemgt.ldif       Sun ONE服务管理基础架构。
50ns-calendar.ldif          Sun ONE Calendar Server架构。
50ns-certificate.ldif              Sun ONE Certificate Management System架构。
50ns-compass.ldif          Netscape Compass Server架构。
50ns-delegated-admin.ldif     Sun ONE Delegated Administrator 4.5架构
50ns-legacy.ldif 传统的Netscape架构。
50ns-mail.ldif               Sun One Messaging Server架构。
50ns-mcd-browser.ldif          Netscape Mission Control Desktop-Browser架构。
50ns-mcd-config.ldif            Netscape Mission Control Desktop-Configuration架构。
50ns-mcd-mail.ldif        Netscape Mission Control Desktop-Mail架构。
50ns-media.ldif                    Netscape Media Server架构。
50ns-mlm.ldif               Sun ONE Mailing List Manager架构。
50ns-msg.ldif                Sun ONE Web Mail架构。
50ns-netshare.ldif          Sun ONE Netshare架构。
50ns-news.ldif                     Sun ONE Collabra Server架构。
50ns-proxy.ldif                    Sun ONE Proxy Server架构。
50ns-wcal.ldif               Sun ONE Web Calendaring架构。
50ns-web.ldif                Sun ONE Web Server架构。

对象
IDOIDs)
为了遵循
LDAPX.500标准,所有的属性了对象类必须指定对象IDOIDs)。OID通常写成点分十进制的整数。当OID被指定时,Directory Server自动使用ObjectClass_name-oidattribute_name-oid.
Sun ONE Directory Server使用基于SunOIDs。老版本的目录服务使用基于NetscapeOIDs
Sun ONE定义的属性和对象类使用基于SunOID:1.3.6.1.4.1.42.2.27.9
Sun ONE定义的属性和对象类使用基于NetscapeOID:2.16.840.1.113730.3

更多有关
OIDs的信息或为你的企业请求一个预定义的OIDs,请访问IANA(Internet Assigned Number Authority)web站点:http://www.iana.org/


架构的扩展
目录服务中包含数以百计的对象类和属性,这些对象类和属性可以满足你大多数的需求。然而也可以通过增加新的对象类和属性来扩展架构以满足企业对目录服务的不断增加的需求。
当向架构中增加新的属性时,一个包含它们的新的对象类将同时被创建(因为向已经存在的对象类添加新的属性会对现有的那些依赖标准
LDAP架构的客户端造成兼容性问题,并且会导致升级非常困难)。
更多关于扩展服务架构的内容,请参考:
Sun ONE Directory Server Deployment Guide


架构的检测
您应当在架构检测开启的状态下运行目录服务。
当您添加或修改条目时,
Sun ONE Directory Server检测功能会对条目做如下检测:
目录架构中所定义的条目的对象类和属性。Object classes and a ttributes in the entry are defined in the directory schema
条目中所包含的对象类的请求属性。Attributes required for an object class are contained in the entry
条目中所包含的对象类的只允许的属性。Only attributes allowed by the object class are contained in the entry
当使用
LDIF向数据库中进行导入的时候,也会进行结构检测。更多信息请参考“Sun ONE Directory Server Administration Guide”.

注意:当前版本(
5.2)的Sun ONE Directory Server不会把值强制改称复合其规则的格式checking does not enforce the validity of values with respect to their syntax. ),但这个功能会在将来的版本中实现。


第10章 对象类参考
本章把缺省架构中所包含的对象类按照字母顺序进行列表。列表中包含了每个对象类的定义,并列出了对象类的
Required属性了Allowed属性。如果一个对象类从其他对象类继承了属性,这个继承的属性将会用斜体字显示。如果对象类B从对象类A继承属性,则在.ldif文件中,对象类B必须出现在对象类A的后面,否则服务将不会启动。

本章把
structural对象类、auxiliary对象类和abstract对象类进行分类。This chapter distinguishes between structural, and auxiliary, and abstract object classes.所有的目录条目都是structural对象类的实现。结构对象类描述了真实世界的对象,比如:人、建筑、国家。auxiliary允许你扩展指定条目的对象类定义。Abstract对象类完全被定义为一个超级类或其他类的模板。除非指明,这里提到的对象类均为structural

本章列出的对象类可以用来支持你的目录信息。被
Directory Server或其他Sun ONE产品用于内部操作internal operations的对象类在这里没有描述。内部对象类的信息请参考第五章“Plug-In Implemented Server Functionality.”

注意:关于
groupOfNamesgroupOfUniqueNames对象类,Sun ONE Directory Server提供的架构与RFC2256中描述的是邮差别的。在Sun ONE的架构中memberuniquemember属性类型是可选的,但在RFC2256中规定了这些类型当中至少有一个值出现在各自的对象类当中。
NOTES
1. The schema provided with Sun ONE Directory Server differs from that specified in RFC 2256 with regard to the groupOfNames and
groupOfUniqueNames object classes. In the schema provided, the member and uniquemember attribute types are optional, while RFC 2256 specifies that at least one value for these types must be present in the respective object class.
2. The LDAP RFCs (and X.500 standards) allow for an object class to have more than one superior. This behavior is not currently supported by Direc tory Server.)。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注