`
liumayulingyan
  • 浏览: 155992 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

LDAP目录的结构

 
阅读更多

       LDAP目录以树状的层次结构来组织和存储数据,目录由目录入口对象 (Entry)组成,目录入口对象(Entry)相当于关系数据库中表的记录,可直接成为 LDAP目录记录,是具有区别名DN(Distinguished Name)的属性(Attribute) 集合,DN相当于关系数据库表中的关键字(Primary Key);属性由属性类型 (Type)和多个值(Va lu e s)组成,相当于关系数据库中的域(Field)由域名和 数据类型组成,只是为了方便检索和灵活性的需要,LDAP中的Type可以有多 个Va lu e,而不是关系数据库中为降低数据的冗余性要求实现的各个域必须是不 相关的。

 

这样,有以下好处:

  •   一般按照地理位置和组织关系进行组织数据,同现实世界相一致,非常的直观;
  • 有利于根据目录树的结构给予不同的员工/用户组不同的权限;
  • 属性类型可以多个属性值,LDAP目录就有很大的灵活性,不必为加入一些新的数据就重新创建表和索引;
  •  LDAP把数据存放在文件中,可以使用基于索引的文件数据库,大大方便了检索,提高了检索效率;
  • 有利于将某个地域/分支机构或某个部门/下属单位的用户信息定制推送到单独的用户目录服务器上,提高相关应用对用户信息的访问效率;
  • 把LDAP存储和复制功能结合起来,可以定制目录树的结构以降低对WAN带宽的要求。

LDAP目录记录的标识名(Distinguished Name,简称DN)是用来读取单个记
录,以及回溯到树的顶部。

 

基准DN:
LDAP目录树的最顶部就是根,也就是所谓的“基准DN”。基准DN通常使用下面的格式,如:o=orgname.com.cn (用组织机构的域名/Internet地址作为基准DN,这种格式很直观,这也是现在最常用的格式)。

 

在目录树中怎么组织数据:
LDAP目录树的最顶部就是根。在根目录下,因为历史上(X.500)的原因,大
多数LDAP目录用OU从逻辑上把数据分开来。
OU表示“Organization Unit”,在X.500协议中是用来表示单位内部的机构
部门。现在LDAP还保留ou=这样的命名规则,但是扩展了分类的范围,可以分
类为:ou=people, ou=groups, ou=devices,等等。更低一级的OU有时用来做更细
的归类。例如:LDAP目录树(不包括单独的记录)可能会是这样的:

 

 

o=orgname.com.cn 
 ou=employees 
 ou=office 
 ou=hr 
 ou=finance 
 ou=sales 
ou=rd 
 ou=groups  
 ou=customers  
 ou=china 
 ou=asia 
 ou=europe 
ou=rooms 
 ou=assets-mgmt 
 

 

 

单独的LDAP记录:
DN是LDAP记录项的名字。在LDAP目录中的所有记录项都有一个唯一的“Distinguished Name”,也就是DN。每一个LDAP记录项的DN是由两个部分组成的:相对DN(RDN)和记录在LDAP目录中的位置。

 

RDN是DN中与目录树的结构无关的部分。在LDAP目录中存储的记录项都要有一个名字,这个名字通常存在cn(Common Name)这个属性里。在LDAP中存储的对象都用它们的cn值作为RDN的基础。
完整的DN,比如,为一个员工“张三”设置一个DN:

 

 

cn=zhang san, ou=employees, o=orgname.com.cn(基于姓名)
uid=szhang, ou=employees, o=orgname.com.cn(基于登录名,推荐)

 

推荐采用基于登录名的方式设置DN,因为基于姓名这种格式有一个很明显的缺点---如果名字改变了,LDAP的记录就要从一个DN转移到另一个DN,但是,我们应该尽可能地避免改变一个记录项的DN;而大多数单位都会给每一个员工唯一的登录名,因此用这个办法可以很好地保存员工的信息,而不用担心以
后还会有一个叫“张三”的加入,或者“张三”改变了名字,也用不着改变LDAP记录项的DN。

 

 

记录项:
LDAP目录以一系列“属性对”的形式来存储记录项,每一个记录项包括属性类型和属性值(这与关系型数据库用行和列来存取数据有根本的不同)。
例如,机构单位orgname.com.cn的员工“张三”的LDAP记录。这个记录项的格式是LDIF,用来导入和导出LDAP目录的记录项。

 

dn: uid=szhang, ou=employees, o=orgname.com.cn 
objectclass: person 
objectclass: organizationalPerson 
objectclass: inetOrgPerson 
objectclass: orgnamePerson 
uid: szhang 
givenname: zhang 
sn: san 
cn: Zhang San 
cn: Zhang Shan 
cn: 张三
cn: 张总
telephonenumber: 8610-82825858 
roomnumber: 122G 
o: orgname, Inc. 
dept: sales 
role: salesmanager 
mailRoutingAddress: szhang@orgname.com.cn 
mailhost: mail.orgname.com.cn 
userpassword: {crypt}3x1231v76T89N 
uidnumber: 1234 
gidnumber: 1200 
homedirectory: /home/szhang 
loginshell: /usr/local/bin/sh 

 

LDAP目录可以定制成存储任何文本或二进制数据,到底存什么要由你自己决定。LDAP目录用对象类型(object classes)的概念来定义运行哪一类的对象使用什么属性。在几乎所有的LDAP服务器中,你都要根据自己的需要扩展基本的LDAP目录的功能,创建新的对象类型或者扩展现存的对象类型。
属性的值在保存的时候是保留大小写的,但是在默认情况下搜索的时候是不区分大小写的。某些特殊的属性(例如,password)在搜索的时候需要区分大小写。
请注意LDAP目录被设计成允许某些属性有多个值,如一个员工可能拥有多个名字,可以用其任何一个名字检索都可以找到该员工的电话号码、电子邮件和办公房间号,等等;而不是在每一个属性的后面用逗号把一系列值分开。因为用这样的方式存储数据,所以LDAP目录就有很大的灵活性,不必为加入一些新的数据就重新创建表和索引。更重要的是,LDAP目录不必花费内存或硬盘空间处理“空”域,也就是说,实际上不使用可选择的域也不会花费你任何资源。

分享到:
评论

相关推荐

    LDAP目录数据库详细使用手册及原理分析.doc

    - **目录结构**: LDAP目录结构类似于倒置的树形结构,每个节点代表一个Entry。 - **与Unix文件系统的差异**: - 在LDAP中,任何节点既可以是容器也可以包含信息,而Unix文件系统中的节点要么是文件要么是目录。 -...

    ldap 浏览器 LdapBrowser282

    1. **目录浏览**:LdapBrowser282允许用户以树形视图查看整个LDAP目录结构,轻松定位和查看特定条目。 2. **搜索操作**:支持高级搜索功能,可以根据不同的属性和过滤条件快速找到所需信息。 3. **编辑与管理**:...

    LDAP Browser\Editor

    这个工具允许用户探索LDAP目录结构,查找和修改条目,以及执行各种管理任务。 **LDAP目录服务基础** LDAP目录服务是基于X.500标准的轻量级实现,主要用于存储和检索组织内的对象信息,如用户账户、组、设备等。...

    LdapBrowser282.zip

    - **浏览目录结构**:LdapBrowser提供了一个直观的界面,让用户能够浏览整个LDAP目录结构,从根DN(Distinguished Name)开始,逐层展开,查看每个条目的详细信息。 - **搜索功能**:用户可以通过输入关键字或使用...

    LDAP原理配置指南

    飞塔信息技术公司的资料详尽地介绍了LDAP的相关知识,包括其背景、发展、特性、目录结构以及基本操作,对于理解并配置LDAP系统具有很高的参考价值。 一、LDAP的背景与发展 随着计算机技术的发展,企业对信息管理的...

    ldap详解.doc

    LDAP 目录结构中的 root Entry 只是一个特殊的 Entry,它包含了目录服务器的配置信息 2. 任何一个节点都可以包含信息,同时也可以是一个容器 3. LDAP Entry 都可以有子节点,而 UNIX 文件系统中的节点要么是一个...

    什么是LDAP连接工具?如何利用好它.docx

    1. **目录结构探索**:使用 LDAP 连接工具,可以清晰地查看 LDAP 目录结构,理解不同对象类和属性的组织方式。 2. **数据管理**:编辑和创建 LDAP 条目,更新用户信息,管理组成员关系等。 3. **权限设置**:配置 ...

    简单的ldap客户端,可替代ldapAdmin

    LDAP(Lightweight Directory Access Protocol)是一种轻量级目录访问协议,常用于存储和检索用户账户、联系人信息、配置数据等结构化信息。它基于X.500标准,但设计得更为简单且适合互联网环境。LDAP允许用户通过...

    ldap6配置文档

    在LDAP目录结构中代表"组织单元"(Organizational Unit)。例如,你可以按部门来划分,如"ou=Sales,dc=example,dc=com"代表销售部。每一条目都有一个唯一的标识符,即DN(Distinguished Name),它是由一系列属性...

    ldap技术总结和开发文档

    1. **LDAP目录结构设计**:理解如何构建合理的目录结构,如OU(Organizational Unit)设计,以便更好地组织和管理数据。 2. **过滤器和搜索操作**:学习如何使用LDAP过滤语法进行精确的搜索,如通过特定属性和值来...

    ldapbrowser工具

    2. **目录浏览**:用户可以通过树状视图查看整个LDAP目录结构,轻松找到所需的条目。同时,可以展开和折叠节点,以层次结构查看信息。 3. **搜索与过滤**:ldapbrowser提供了强大的搜索功能,允许用户输入过滤条件...

    LDAPBrowser.rar

    2. **目录浏览**: 用户可以直观地查看整个LDAP目录结构,逐层展开节点,查看每个条目的详细属性。 3. **数据编辑**: 允许用户直接编辑目录中的条目信息,如修改用户账号、设置权限等,确保数据的实时性。 4. **...

    Ldap数据导出到文件

    LDAP目录结构是由一系列条目(Entries)组成,每个条目都有一个唯一的DN(Distinguished Name),类似于条目的地址。条目包含属性(Attributes),每个属性有自己的名字和一组值。在导出过程中,我们需要确定要导出...

    LDAP中文学习手册.doc

    而 LDAP 目录结构中的 root Entry 只是一个特殊的 Entry,它包含了目录服务器的配置信息,通常情况下,并不用来存储信息。 * 在 LDAP 目录中任何一个节点都可以包含信息,同时也可以是一个容器,也就是说任何一个 ...

    构建基于LDAP的地址薄

    在现代信息技术中,LDAP(轻量级目录访问协议)是一种标准的目录服务协议,用于存储和检索结构化的数据,如用户账户、联系人信息等。 **LDAP入门** LDAP目录服务是一种树状结构的数据存储方式,它以一种易于查找和...

    IBM LDAP一些基础知识

    2. LDAP目录结构设计:如何规划和创建适合业务需求的目录结构。 3. 用户和组管理:如何在LDAP中创建、管理和删除用户账户,以及设置权限和组策略。 4. LDAP认证和授权:如何使用LDAP进行身份验证,以及设置访问控制...

    在Linux上搭建LDAP服务器

    LDAP 目录遵循熟悉的 Unix 文件系统结构——树的顶部有根目录,由根目录分支成许多子目录。典型设计就是一个公司只有一个主要的根目录。然后根据部门、位置、功能,雇员的好坏等等对你来说有用和有意义的任何事物来...

    LDAP_-_概念、体系结构和设计

    该公司的LDAP目录结构可以设计为以下形式: - `dc=example, dc=com`: 顶级域名。 - `ou=People`: 用户条目。 - `uid=jdoe, ou=People, dc=example, dc=com`: 具体用户的条目。 - `ou=Groups`: 组条目。 - `...

    LdapBrowser282

    2. **LDAP目录结构**:LDAP 使用树形结构来组织数据,每个节点称为条目(Entry),条目由属性(Attribute)组成,每个属性包含一个或多个值。条目的DN(Distinguished Name)是其在整个目录树中的唯一标识。 3. **...

Global site tag (gtag.js) - Google Analytics