ldif的数据结构及一个DEMO


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

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

1:      dn: dc=app1, dc=com

2:      objectclass: top

3:      objectclass: dcobject

4:      objectclass: organization

5:      dc: app1

6:      o: swust

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

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

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

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

  ● 这里只是ldif文件的首部,如果就这样定义仍然无法成功创建,必须接着定义至少一个条目才能成功导入LDAP Browser中。

2.了解objectClass

LDAP中,一个条目必须包含一个j结构型的objectClass

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设置用户的名和姓,这是必须设置的,而其他属性则是可选的。

ldap数据的管理_增删改查 - 123456 - duanhehui0928

图14-6  objectClass属性

下面列出部分常用objectClass要求必设的属性。

  ● account:userid。

  ● organization:o。

  ● person:cn和sn。

  ● organizationalPerson:与person相同。

  ● organizationalRole:cn。

  ● organizationUnit:ou。

  ● posixGroup:cn、gidNumber。

  ● posixAccount:cn、gidNumber、homeDirectory、uid、uidNumber。

4.创建LDIF文件

对以上内容有一定了解之后,就可以编写输入LDIF文件,编辑需要向目录数据库添加的条目了。

下面根据如图14-7所示的结构,创建LDIF文件wyh.com.ldif。

ldap数据的管理_增删改查 - 123456 - duanhehui0928

图14-7  目录的树形结构

对图14-7进行分析,该目录结构分为3层,有4个结点。根据图14-7可创建LDIF文件如下:

提示:每个结点可用一个dn表示,对于每个结点,又可继续添加新的结点。如在根结点中可添加其他部门ou,在ou=managers结点也可继续添加其他管理人员的信息。

dn: dc=app1,dc=com
objectclass: top
objectclass: dcobject
objectclass: organization
dc:app1
o:swust


dn: o=swust,dc=app1,dc=com
objectclass: organization
o: swust


dn: ou=Developer,o=swust,dc=app1,dc=com
objectclass: organizationalUnit
ou: Developer


dn: cn=chen yixing,ou=Developer,o=swust,dc=app1,dc=com
objectclass: person
sn:yixing
cn:chen yixing


dn: ou=Tester,o=swust,dc=app1,dc=com
objectclass: organizationalUnit

ou: Tester


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值