OpenLdap使用手册.doc
《OpenLdap使用手册.doc》由会员分享,可在线阅读,更多相关《OpenLdap使用手册.doc(16页珍藏版)》请在冰豆网上搜索。
FEITIAN
WEBUILDSECURITY
OpenLdap使用手册
一、文档概述 2
二、LDAP简介 2
2.1 LDAP介绍 2
2.2 LDAP优劣 3
2.3 LDAP协议 3
2.4 LDAP服务器 4
2.5 LDAP使用权限 4
2.6 LDAP目标 4
三、安装配置 5
3.1 软件安装 5
3.2 软件配置 5
3.3 软件运行 5
3.4 初始数据 6
四、LDAP应用 8
4.1 LDAP常用属性 8
4.2 LDAPSchema语法 9
五、LDAP客户端 9
5.1 增加目录属性 10
5.2 删除目录属性 11
5.3 修改目录属性 11
5.4 增加目录 11
5.5 修改目录 12
5.6 删除目录 13
六、应用举例 14
附录:
15
X.500 15
一、文档概述
本文从介绍ldap入手,讲述了ldap的使用场合,并进一步的指导用户进行openldap安装与配置。
是新手入门的一个教程。
二、LDAP简介
2.1 LDAP介绍
LDAP的英文全称是LightweightDirectoryAccessProtocol,它是基于X.500标准的,但是简单多了并且可以根据需要定制。
与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。
LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPmanRFC网页中找到。
LDAP目录中可以存储各种类型的数据:
电子邮件地址、邮件路由信息、人力资源数据、公用密匙、联系人列表,等等。
通过把LDAP目录作为系统集成中的一个重要环节,可以简化员工在企业内部查询信息的步骤,甚至连主要的数据源都可以放在任何地方。
2.2 LDAP优劣
目录服务的数据类型主要是字符型,为了检索的需要添加了BIN(二进制数据)、CIS(忽略大小写)、CES(大小写敏感)、TEL(电话型)等语法(Syntax),而不是关系数据库提供的整数、浮点数、日期、货币等类型,同样也不提供象关系数据库中普遍包含的大量的函数,它主要面向数据的查询服务(查询和修改操作比一般是大于10:
1),不提供事务的回滚(rollback)机制,它的数据修改使用简单的锁定机制实现All-or-Nothing,它的目标是快速响应和大容量查询并且提供多目录服务器的信息复制功能。
LDAP最大的优势是:
可以在任何计算机平台上,用很容易获得的而且数目不断增加的LDAP的客户端程序访问LDAP目录。
而且也很容易定制应用程序为它加上LDAP的支持。
LDAP在查询时是做过优化的,因此查询速度快,但是在更新时相对关系型数据库要慢得多
2.3 LDAP协议
LDAP协议是跨平台的和标准的协议,因此应用程序就不用为LDAP目录放在什么样的服务器上操心了。
实际上,LDAP得到了业界的广泛认可,因为它是Internet的标准。
厂商都很愿意在产品中加入对LDAP的支持,因为他们根本不用考虑另一端(客户端或服务端)是怎么样的。
LDAP服务器可以是任何一个开放源代码或商用的LDAP目录服务器(或者还可能是具有LDAP界面的关系型数据库),因为可以用同样的协议、客户端连接软件包和查询命令与LDAP服务器进行交互。
与LDAP不同的是,如果软件厂商想在软件产品中集成对DBMS的支持,那么通常都要对每一个数据库服务器单独定制。
不象很多商用的关系型数据库,你不必为LDAP的每一个客户端连接或许可协议付费。
大多数的LDAP服务器安装起来很简单,也容易维护和优化。
2.4 LDAP服务器
LDAP服务器可以用“推”或“拉”的方法复制部分或全部数据,例如:
可以把数据“推”到远程的办公室,以增加数据的安全性。
复制技术是内置在LDAP服务器中的而且很容易配置。
如果要在DBMS中使用相同的复制功能,数据库产商就会要你支付额外的费用,而且也很难管理。
2.5 LDAP使用权限
LDAP允许你根据需要使用ACI(一般都称为ACL或者访问控制列表)控制对数据读和写的权限。
例如,设备管理员可以有权改变员工的工作地点和办公室号码,但是不允许改变记录中其它的域。
ACI可以根据谁访问数据、访问什么数据、数据存在什么地方以及其它对数据进行访问控制。
因为这些都是由LDAP目录服务器完成的,所以不用担心在客户端的应用程序上是否要进行安全检查。
2.6 LDAP目标
1、需要在任何平台上都能读取数据
2、每一个单独的记录项很少改变
3、可以把数据存在平面数据库(flatdatabase)而不是关系型数据库中
4、如果可以把数据存在一张张的卡片里
三、安装配置
3.1 软件安装
下载:
1、下载openldap-for-windows。
提供网址:
http:
//www.userbooster.de/en/download/openldap-for-windows.aspx
2、下载jdk1.4或jdk1.5
3、下载LdapBrowser
安装:
1、将openldap一步步安装,在选择数据库类型方面使用默认的BDB
2、将jdk进行安装
3、LdapBrowser无需安装,可直接使用
3.2 软件配置
1、修改安装目录下的sldap.conf文件,可参照下面修改
suffix"dc=my-domain,dc=com"
rootdn"cn=Manager,dc=my-domain,dc=com"
把这两行改为
suffix"dc=root"
rootdn"cn=Manager,dc=root"
2、环境变量中配置path,将jdk/bin加入(ldap运行需要jdk)
3.3 软件运行
1、openldap安装后可通过我的电脑”--“管理”--“服务”中找到并启动它,也可以在cmd中执行命令slapd-d1(要在安装文件目录下)
2、运行LdapBrowser目录中的lbe.bat文件,将弹出连接界面
Edit:
修改ldap连接的服务器信息
Connect:
连接至选择的ldap服务器
3.4 初始数据
经过上面几步处理后,用户已经可以连接上Ldap服务器,但是会显示Listfailed等错误信息,出现这个问题的原因,是ldap服务中还没有创建初始数据。
也就是noentry的错误。
因此需要手动编写一个ldif文件初始加载进去
。
首先在LDAP根目录下创建一个空白文件,命名为init.ldif,输入如下信息:
dn:
dc=root
objectClass:
dcObject
objectClass:
organization
o:
feitian
dn:
o=feitian,dc=root
objectClass:
organization
o:
feitian
description:
thisisfeitiancompany
dn:
o=ifd,o=feitian,dc=root
description:
信息部
objectClass:
organization
o:
ifd
dn:
cn=bingwang,o=ifd,o=feitian,dc=root
description:
信息部员工王兵旺
objectClass:
organizationalRole
telexNumber:
370
cn:
bingwang
sn:
861
注意:
文件中各行最后一个字符后不能出现空格
配置文件slapd.conf与初始文件init.ldif说明:
slapd.conf文件中suffix(后缀定义)申明的是根DN信息,init.ldif目的是为了在根下面初始化最少一个数据目录。
通过LDAPBrowser界面导入进去,先选中根目录,再点【LDIF】-【Import】,然后在新的弹出界面中选择创建好的init.ldif文件,确定后即可导入初始数据。
本图可以看出,cn=bingwang是最后一级,那么在申明它之前,必须先依次申明了dc=root、o=feitian、o=ifd;树形的结构展示表明了层次关系,因此在申明的时候也要体现出树形结构,如cn=bingwang申明的完整dn为:
cn=bingwang,o=ifd,o=feitian,dc=root,表示cn=bingwang的上级是o=ifd,o=ifd的上级是o=feitian,o=feitian的上级是dc=root。
四、LDAP应用
LDAP连接服务器的连接字串格式为:
ldap:
//servername/DN
4.1 LDAP常用属性
DN:
DistinguishedName,可以叫做条目区分名。
在一个目录中这个名称总是唯一的,也是用来标识一个节点的主要方式。
它有若干属性:
1、CN=CommonName为用户名或服务器名,最长可以到80个字符,可以为中文;
2、OU=OrganizationUnit为组织单元,最多可以有四级,每级最长32个字符,可以为中文;
3、DC=DomainComponent为目录结构
4、O=Organization为组织名,可选,可以3—64个字符长
5、C=Country为国家名,可选,为2个字符长
4.2 LDAPSchema语法
LDAP中,schema用来指定一个目录中所包含的objects的类型(objectClass)以及每一个objectClass中的各个必备(mandatory)和可选(optional)的属性(attribute)。
因此,Schema是一个数据模型,它被用来决定数据怎样被存储,被跟踪的数据的是什么类型,存储在不同的Entry下的数据之间的关系。
schema需要在主配置文件slapd.conf中指定,以用来决定本目录中使用到的objectClass。
管理员可以自己设计制定schema,一般包括属性定义(AttributeDefinition)、类定义(ClassDefinition)以及语法定义(SyntaxDefinition)等部分。
创建好schema文件后,将做好的schema文件拷贝到ldap的schema目录下。
然后修改slapd.conf文件,将新的schema文件加入申明。
五、LDAP客户端
ldapbrowser是openldap的一个客户端管理工具,可以方便的用来操作、查看openldap中的数据。
首先安装好openldap,然后双击ldapbrowser目录中的lbe.bat启动。
下面的登陆界面中,【Host】输入openldap主机名或IP,点击【FetchDNs】则会自动匹配到openldap在slapd.conf配置的根域。
然后勾上【appendbaseDN】,输入口令,cn=manager是openldap安装时的管理员账号。
然后点击保存,回到连接界面点击【connet】。
如果需要匿名登录,则选中【Anonymousbind】,需要说明的是,匿名登录只能查看数据。
5.1 增加目录属性
如果需要为一个元素增加Attribute,按如下操作
最后点击Apply完成Attribute增加。
需要注意的是增加的属性名称一定是符合ldap标准的,或者自定义增加的,否则将会增加失败,如上图增加属性a则不能成功。
具体ldap有哪些默认的属性值可以参考%openldap_home%\schema\core.schema文件。
5.2 删除目录属性
选中一个元素的Attribute,使用删除Attribute操作。
5.3 修改目录属性
在目录的属性上