您的位置:首页 > 其它

LDAP常见术语

2016-04-05 11:33 267 查看
14.4  管理OpenLDAP
启动OpenLDAP服务器程序之后,接下来的操作就是通过客户端程序对目录进行操作,包括添加、修改、删除和搜索数据等操作。能对LDAP进行操作的客户端程序很多,本节简单介绍在Linux命令方式下进行这些操作的方法。

14.4.1  向目录数据库中添加数据
初始状态下,LDAP是一个空目录,即没有任何数据。可通过程序代码向目录数据库中添加数据,也可使用OpenLDAP客户端工具ldapadd命令来完成添加数据的操作,该命令可将一个LDIF文件中的条目添加到目录。因此,需要首先创建一个LDIF文件,然后再进行添加操作。

1.LDIF文本条目格式

LDIF用文本格式表示目录数据库的信息,以方便用户创建、阅读和修改。在LDIF文件中,一个条目的基本格式如下:

# 注释

dn: 条目名

属性描述: 值

属性描述: 值

属性描述: 值

... ...

dn行类似于关系数据库中一条记录的关键字,不能与其他dn重复。一个LDIF文件中可以包含多个条目,每个条目之间用一个空行分隔。

例如,以下内容组成一个条目:

1:      dn: dc=wyh, dc=com

2:      objectclass: top

3:      objectclass: dcobject

4:      objectclass: organization

5:      dc: wyh

6:      o: wyh,Inc.

在以上文本中,各行含义如下:

● 第1行的dn定义该条目的标识。

● 第2~4行定义该条目的objectcCass,可以定义多个属性,如上面代码中定义了3个objectClass。条目的属性根据objectClass的不同而不同,有的objectClass有必须设置的属性。在2~4行的3个objectClass中,top没有必须定义的属性,dcobject必须定义属性dc,用来表示一个域名的部分,而organization必须定义属性o,用来表示一个组织的名称。

● 根据objectClass的要求,第5、6行分别定义属性dc和属性o的值。

2.了解objectClass

LDAP中,一个条目必须包含一个objectClass属性,且需要赋予至少一个值。每一个值将用作一条LDAP条目进行数据存储的模板;模板中包含了一个条目必须被赋值的属性和可选的属性。

objectClass有着严格的等级之分,最顶层是top和alias。例如,organizationalPerson这个objectClass就隶属于person,而person又隶属于top。

objectClass可分为以下3类:

● 结构型(Structural):如person和organizationUnit;

● 辅助型(Auxiliary):如extensibeObject;

● 抽象型(Abstract):如top,抽象型的objectClass不能直接使用。

在OpenLDAP的schema中定义了很多objectClass,下面列出部分常用的objectClass的名称。

● account

● alias

● dcobject

● domain

● ipHost

● organization

● organizationalRole

● organizationalUnit

● person

● organizationalPerson

● inetOrgPerson

● residentialPerson

● posixAccount

● posixGroup

3.了解Attribute

属性(Attribute)类似于程序设计中的变量,可以被赋值。在OpenLDAP中声明了许多常用的Attribute(用户也可自己定义Attribute)。常见的Attribute含义如下:

1         c:国家。

● cn:common name,指一个对象的名字。如果指人,需要使用其全名。

● dc:domain Component,常用来指一个域名的一部分。

● givenName:指一个人的名字,不能用来指姓。

● l:指一个地名,如一个城市或者其他地理区域的名字。

● mail:电子信箱地址。

● o:organizationName,指一个组织的名字。

● ou:organizationalUnitName,指一个组织单元的名字。

● sn:surname,指一个人的姓。

● telephoneNumber:电话号码,应该带有所在的国家的代码。

● uid:userid,通常指某个用户的登录名,与Linux系统中用户的uid不同。

提示:objectClass是一种特殊的Attribute,它包含其他用到的Attribute以及其自身。

对于不同的objectClass,通常具有一些必设属性值和一些可选属性值。例如,可使用person这个objectClass来表示系统中一个用户的条目,对于系统中用户通常需要有这样一些信息:姓名、电话、密码、描述等。如图14-6所示,对于person,通过cn和sn设置用户的名和姓,这是必须设置的,而其他属性则是可选的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: