`
keezzm
  • 浏览: 14398 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论
阅读更多

LDAP简述

LDAP轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。

简单说来,LDAP是一个得到关于人或者资源的集中、静态数据的快速方式。

LDAP是一个用来发布目录信息到许多不同资源的协议。通常它都作为一个集中的地址本使用,不过根据组织者的需要,它可以做得更加强大。

性质

从另一个意义上 LDAP是实现了指定的数据结构的存贮,它是一种特殊的数据库。但是LDAP和一般的数据库不同,明白这一点是很重要的。 LDAP对查询进行了优化,与写性能相比LDAP的读性能要优秀很多

就象SybaseOracleInformixMicrosoft的数据库管理系统(DBMS)是用于处理查询和更新关系型数据库那样,LDAP服务器也是用来处理查询和更新LDAP目录的。换句话来说LDAP目录也是一种类型的数据库,但不是关系型数据库。要特别注意的是,LDAP通常作为一个 hierarchical(分层,即树形结构的存储)数据库使用,而不是一个关系数据库。因此,它的结构用树来表示比用表格好。正因为这样,就不能用SQL语句了。

现在LDAP技术发展得很快令人激动人心。在企业范围内实现LDAP可以让运行在几乎所有计算机平台上的所有的应用程序从LDAP目录中获取信息。LDAP目录中可以存储各种类型的数据:电子邮件地址、邮件路由信息、人力资源数据、公用密匙、联系人列表,等等(这点很重要,这对于了解ldap适用于存储什么,如何使用来说无疑是很有帮助的)。通过把LDAP目录作为系统集成中的一个重要环节,可以简化员工在企业内部查询信息的步骤,甚至连主要的数据源都可以放在任何地方。

优势

l         跨平台

LDAP最大的优势是:可以在任何计算机平台上,用很容易获得的而且数目不断增加的LDAP的客户端程序访问LDAP目录。而且也很容易定制应用程序为它加上LDAP的支持。

LDAP 协议是跨平台的和标准的协议,因此应用程序就不用为LDAP目录放在什么样的服务器上操心了。实际上,LDAP得到了业界的广泛认可,因为它是 Internet的标准。产商都很愿意在产品中加入对LDAP的支持,因为他们根本不用考虑另一端(客户端或服务端)是怎么样的。LDAP服务器可以是任何一个开发源代码或商用的LDAP目录服务器(或者还可能是具有LDAP界面的关系型数据库),因为可以用同样的协议、客户端连接软件包和查询命令与 LDAP服务器进行交互。与LDAP不同的是,如果软件产商想在软件产品中集成对DBMS的支持,那么通常都要对每一个数据库服务器单独定制。

l         费用及维护

不象很多商用的关系型数据库,你不必为LDAP的每一个客户端连接或许可协议付费。大多数的LDAP服务器安装起来很简单,也容易维护和优化。

l         复制技术

LDAP服务器可以用""""的方法复制部分或全部数据,例如:可以把数据""到远程的办公室,以增加数据的安全性。复制技术是内置在LDAP服务器中的而且很容易配置。如果要在DBMS中使用相同的复制功能,数据库产商就会要你支付额外的费用,而且也很难管理。

l         允许使用ACI

 

LDAP 允许你根据需要使用ACI(一般都称为ACL或者访问控制列表)控制对数据读和写的权限。例如,设备管理员可以有权改变员工的工作地点和办公室号码,但是不允许改变记录中其它的域。ACI可以根据谁访问数据、访问什么数据、数据存在什么地方以及其它对数据进行访问控制。因为这些都是由LDAP目录服务器完成的,所以不用担心在客户端的应用程序上是否要进行安全检查。

LDAP存储什么数据

LDAP对于这样存储这样的信息最为有用:也就是数据需要从不同的地点读取,但是不需要经常更新。例如,这些信息存储在LDAP目录中是十分有效的:

l         公司员工的电话号码簿和组织结构图

l         客户的联系信息

l         计算机管理需要的信息,包括NIS映射、email假名,等等

l         软件包的配置信息

l         公用证书和安全密匙

什么时候该用LDAP存储数据

大多数的LDAP服务器都为读密集型的操作进行专门的优化。因此,当从LDAP服务器中读取数据的时候会比从专门为OLTP优化的关系型数据库中读取数据快一个数量级。也是因为专门为读的性能进行优化,大多数的LDAP目录服务器并不适合存储需要需要经常改变的数据。例如,用LDAP服务器来存储电话号码是一个很好的选择,但是它不能作为电子商务站点的数据库服务器。

OpenLDAP

安装

下载OpenLDAP(可到官网去下载,不过这资源比较难找)

双击安装程序进行安装

配置

编辑sldap.confi文件

OpenLDAP的安装目录下的OpenLDAP文件中找到sldap.conf文件,使用任何一种文本编辑器开,然后找到

include include        ./schema/core.schema

在它后面添加

include ./schema/cosine.schema

include ./ schema/inetorgperson.schema

接下来的例子只需要用到以上三个 schema,当然,如果你觉得需要的话,你可以把其他的 schema 全部添加进来

include ./schema/corba.schema

include ./schema/dyngroup.schema

include ./schema/java.schema

include ./schema/misc.schema

include ./schema/nis.schema

include ./schema/openldap.schema

<这里要注意这些文件的添加的先后顺序,因为某些文件是有依赖关系,被依赖的schema必须放在前面>

配置LDAP服务器登录的rootDN、管理用户和密码(包括明文和密文)

还是在sldap.conf文件进行配置,首先找到

suffix "dc=example,dc=com" (这里我自定义为dc=teemlink,dc=com,表示:teemlink.com)

rootdn "cn=Manager,dc= example,dc=com"

(这里我定义为cn=Manager,dc=teemlink,dc=com

rootpw  secret

(这里我不修改)

3条信息,其中suffix表示目录系统的根(可以自定义);rootdn表示登录服务器的用户名(其中cn=Manager表示以管理者身份登录); rootpw表示登陆者的密码(这里是明文secret),当然你也可以使用密文方式的密码,你可以使用命令slappasswd -h {md5} -s secret算出加密的密码 {MD5}Xr4ilOzQ4PCOq3aQ0qbuaQ== 取代配置中的 secret

(请注意,因为我自定义了suffix,因此必须在data目录下自定义ldif文件来初始化目录数据,否则会出No Such Object的错误,因为自定义的根目录节点必须带有至少一个属性的记录数据)

配置data目录下的ldif文件(文件名可随意,我这里定义为root.ldif)

在文件中输入如下信息

dn:dc=teemlink,dc=com

objectClass:dcObject

objectClass:organization

dc:teemlink

o:teemlink

description:www.teemlink.com

启动OpenLDAP服务(这里可以设置为自启动方式,即在电脑启动时自动运行)

运行CMDOpenLDAP目录下输入slapd -d 1

用可以看到控制台下打印一片信息,openldap 默认是用的 Berkeley DB 数据库存储目录数据的。(你可以安装ldap浏览器,这些浏览器提供界面支持,我这里用到了LDAPbrowserJxplorer

LDAPbrowser界面:

 

其配置如下


Jxplorer界面


 

配置如下

 

 

专用名词解释:

DN=Distinguished Name 一个目录条目的名字

CN=Common Name 为用户名或服务器名,最长可以到80个字符,可以为中文;

OU=Organization Unit为组织单元,最多可以有四级,每级最长32个字符,可以为中文;

O=Organization 为组织名,可以364个字符长

C=Country为国家名,可选,为2个字符长

L=Location 地名,通常是城市的名称

ST 州或省的名称

O=Orgnization 组织名称

OU=Orgnizagion Unit 组织单位

STREET 街道地址

UID 用户标识

这是其中一些,详细可参考OpenLDAP目录下的schema目录下的schema文件的定义,里面定义了一些自带的schema文件。

 

 

  • 大小: 32.8 KB
  • 大小: 10.6 KB
  • 大小: 31.8 KB
  • 大小: 21.4 KB
  • 大小: 12.7 KB
分享到:
评论
2 楼 keezzm 2011-07-05  
zhendell 写道
文章段落格式很混乱,看起来比较辛苦

这是厌学的表现,真正想学习的学者是不会嫌弃这个那个的,再说某些重点(或许不是全部都关心的)都已经用别的颜色加以注明了,如果这样你还说格式很混乱,那你就是没认真去阅读,或者说你能搞个格式更好的。
1 楼 zhendell 2011-06-29  
文章段落格式很混乱,看起来比较辛苦

相关推荐

    Linux/Unix OpenLDAP 实战指南

    本书共分为基础篇、高级篇和实战篇,共计17章。基础篇涵盖了OpenLDAP的工作原理、OpenLDAP服务器的安装与配置、OpenLDAP的命令详解、OpenLDAP客户端部署以及GUI管理。高级篇则介绍了OpenLDAP的高级主题,包括...

    PHP开发实例大全(提高卷)pdf

    PHP开发实例大全(提高卷)(基础篇)已经全部提供 高清pdf 《PHP开发实例大全(提高卷)》以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用PHP进行Web开发的各个方面的知识和技巧,主要...

    jmeter简单基础压力教程

    在这篇教程中,我们将学习如何使用 JMeter 对网站进行压力测试。 一、安装 JMeter 要使用 JMeter,首先需要安装它。安装 JMeter 需要满足以下几个条件: * 安装 JDK 8.0.91 或更高版本,并将其配置到环境变量中。...

    PHP入门到精通

    第1篇 基础知识 1.初识PHP(教学录像:23分42秒) 1.1PHP概述 1.2扩展库 1.3前期准备工作 1.4网站建设的基本流程 1.5PHP的学习资源 1.6如何学好PHP 2.PHP环境搭建和开发工具(教学录像:36分3秒) 2.1PHP开发环境和...

    PHP入门到精通02

    第1篇 基础知识 1.初识PHP(教学录像:23分42秒) 1.1PHP概述 1.2扩展库 1.3前期准备工作 1.4网站建设的基本流程 1.5PHP的学习资源 1.6如何学好PHP 2.PHP环境搭建和开发工具(教学录像:36分3秒) 2.1PHP开发环境和...

    网络工程师考试考点分析与真题详解.网络设计与管理篇

    197 7.13.3 数字签名 197 7.13.4 公钥体系基础框架 197 7.13.5 认证授权 198 7.13.6 电子身份证 198 7.14 服务机制 199 7.14.1 服务供应商 199 7.14.2 供应商漫游服务 200 7.14.3 拨号IP...

    php网络开发完全手册

    第2篇 PHP与数据库 第13章 关系型数据库的基础知识 204 13.1 关系型数据库与关系型数据库系统的 13.1 介绍 204 13.2 关系型数据库系统的结构与运行过程 205 13.2.1 关系型数据库系统的层次结构 205 13.2.2 关系型...

    网络工程师考试考点分析与真题详解.网络设计与管理篇.part5

    197 7.13.3 数字签名 197 7.13.4 公钥体系基础框架 197 7.13.5 认证授权 198 7.13.6 电子身份证 198 7.14 服务机制 199 7.14.1 服务供应商 199 7.14.2 供应商漫游服务 200 7.14.3 拨号IP...

    网络工程师考试考点分析与真题详解.网络设计与管理篇.part2

    197 7.13.3 数字签名 197 7.13.4 公钥体系基础框架 197 7.13.5 认证授权 198 7.13.6 电子身份证 198 7.14 服务机制 199 7.14.1 服务供应商 199 7.14.2 供应商漫游服务 200 7.14.3 拨号IP...

    网络工程师考试考点分析与真题详解.网络设计与管理篇.part6

    197 7.13.3 数字签名 197 7.13.4 公钥体系基础框架 197 7.13.5 认证授权 198 7.13.6 电子身份证 198 7.14 服务机制 199 7.14.1 服务供应商 199 7.14.2 供应商漫游服务 200 7.14.3 拨号IP...

    网络工程师考试考点分析与真题详解.网络设计与管理篇.part7

    197 7.13.3 数字签名 197 7.13.4 公钥体系基础框架 197 7.13.5 认证授权 198 7.13.6 电子身份证 198 7.14 服务机制 199 7.14.1 服务供应商 199 7.14.2 供应商漫游服务 200 7.14.3 拨号IP...

    网络工程师考试考点分析与真题详解.网络设计与管理篇.part3

    197 7.13.3 数字签名 197 7.13.4 公钥体系基础框架 197 7.13.5 认证授权 198 7.13.6 电子身份证 198 7.14 服务机制 199 7.14.1 服务供应商 199 7.14.2 供应商漫游服务 200 7.14.3 拨号IP...

    网络工程师考试考点分析与真题详解.网络设计与管理篇.part4

    197 7.13.3 数字签名 197 7.13.4 公钥体系基础框架 197 7.13.5 认证授权 198 7.13.6 电子身份证 198 7.14 服务机制 199 7.14.1 服务供应商 199 7.14.2 供应商漫游服务 200 7.14.3 拨号IP...

    电子图书系统初步设计方案.doc

    它不 同于传统的、针对文件本身的关键字检索,而是一种模糊化、智能化的分类,一篇 涉及面比较广的书籍,比如一本介绍西安变迁的书,可能会涉及到历史、地理、经 济、文 化、旅游、教育,可能谈到诗人杜甫、作家柳青...

    JAVA核心技术

    特点是可以与多种数据源交互,包括文件系统,数据库,LDAP,XML资源库,网络数据源等。??免费。??ECHO:??主要应用方面:WEB层。??主要应用技术:servlet等??出处:http://www.nextapp.com/products/echo/??简述:...

Global site tag (gtag.js) - Google Analytics