LDAP 目录设计

(0 comments)

目录介绍

  • LDAP 目录中的信息是是按照树型结构组织,具体信息存储在条目(entry)的数据结构中。条目相当于关系数据库中表的记录。
  • 每个条目具有唯一的 DN,用来引用条目,DN 相当于关系数据库表中的关键字
  • 每个条目可以有多个属性,属性由类型(Type)和一个或多个值(Values)组成,相当于关系数据库中的字段(Field)由字段名和数据类型组成。
  • LDAP 的信息是以树型结构存储的,在树根一般定义国家 (c=CN) 或域名 (dc=com),在其下则往往定义一个或多个组织 (o=Acme) 或组织单元 (ou=People)。
  • LDAP 支持对条目能够和必须支持哪些属性进行控制,这是有一个特殊的称为对象类别 (objectClass) 的属性来实现的。
  • 对象类别 (objectClass) 规定了该条目能够及至少应该包含哪些属性。例如:inetorgPerson 对象类需要支持 sn(surname) 和 cn(common name) 属性,但也可以包含可选的如邮件,电话号码等属性。
  • 目录的最顶层是目录树的基准,也就是所谓的基准标识名(Base Distinguished Name),1998年,RFC2247 把 DNS 域名编码作为 LDAP(和X.500)的标识名的基础。例如,公司的 Internet 域名是 example.com,按照 RFC2247 把这个 DNS 域名转换为 DN: dc=example,dc=com

规划目录拓扑结构

在规划目录拓朴结构时应该注意以下几点:

  • 最关键的一点就是避免目录树设计的修改,设法不要让目录树基于公司组织图,一个当前的商业模式或者相似的东西。
  • 要避免从一个 OU 向另一个 OU 移动 LDAP 记录。如果你可以预见这会经常发生在你的设计中,设法去重新设计。你能把两个或者更多的分支整合成一个吗?你能用一个属性 location,department 去完成同样的目的吗?
  • 你是否有在某些关系上相似的数据,但是如何使用这些数据却有很大的不同?你能为每种类型的条目创建独立的 OU 吗?如果条目无论什么理由都没有必要从一个 OU 移动到另一个 OU,那么将这些条目分别存放在不同的 OU 中。(例如:ou=Employees 和 ou=ITaccounts)

下面这些数据对象经常需要在 LDAP 目录结果中有单独的 OU:

  • 员工信息;
  • 客户信息,包括新客户和老客户;
  • 电话号码和描述,包括酒店、出租车等等;
  • 会议室、办公室等等;
  • 电脑设备,包括台式机、笔记本、服务器、打印机、网络设备等等;
  • 邮件列表;
  • NIS 组信息;
  • NIS 网络组;

你可以用 LDAP 存储各种类型的数据对象,只要这些对象可以用属性来表示,下面这些是可以在 LDAP 中存储的一些信息:

  • 员工信息:员工的姓名、登录名、口令、员工号、他的经理的登录名,邮件服务器,等等。
  • 物品跟踪信息:计算机名、IP地址、标签、型号、所在位置,等等。
  • 客户联系列表:客户的公司名、主要联系人的电话、传真和电子邮件,等等。
  • 会议厅信息:会议厅的名字、位置、可以坐多少人、电话号码、是否有投影机。
  • EMAIL 用户管理
  • FTP 用户管理
  • RADIUS 认证
  • WEB 敏感数据认证
  • PROXY 代理服务认证
  • 系统用户认证
  • SAMBA 用户认证
  • 公共地址簿
  • LINUX 的打印控制

1.3. 一个完整的例子

例 1. 范例:root.ldif

dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
o: Example Organization
dc: example

dn: cn=root,dc=example,dc=com
objectclass: organizationalRole
cn: root

dn: ou=employee,dc=example,dc=com
ou: employee
objectclass: organizationalUnit
objectclass: domainRelatedObject
associatedDomain: example.com

dn: ou=group,dc=example,dc=com
ou: group
objectclass: organizationalUnit
objectclass: domainRelatedObject
associatedDomain: example.com

2. 公共地址薄

例 2. 范例

   dn: cn=Barbara Jensen,ou=Product Development,dc=siroe,dc=com
   objectClass: top
   objectClass: person
   objectClass: organizationalPerson
   objectClass: inetOrgPerson
   cn: Barbara Jensen
   cn: Babs Jensen
   displayName: Babs Jensen
   sn: Jensen
   givenName: Barbara
   initials: BJJ
   title: manager, product development
   uid: bjensen
   mail: bjensen@siroe.com
   telephoneNumber: +1 408 555 1862
   facsimileTelephoneNumber: +1 408 555 1992
   mobile: +1 408 555 1941
   roomNumber: 0209
   carLicense: 6ABC246
   o: Siroe
   ou: Product Development
   departmentNumber: 2604
   employeeNumber: 42
   employeeType: full time
   preferredLanguage: fr, en-gb;q=0.8, en;q=0.7
   labeledURI: http://www.siroe.com/users/bjensen My Home Page
Current rating: 2

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required