首页 > 代码库 > LDAP入门与OpenLDAP使用配置

LDAP入门与OpenLDAP使用配置

LDAP入门与OpenLDAP使用配置

1、LDAP简介

LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是实现提供被称为目录服务的信息服务。目录服务是一种特殊的数据库系统,专门针对读取,浏览和搜索操作进行了特定的优化。目录一般包含描述性的,基于属性的信息并支持精细复杂的过滤能力。目录一般不支持通用数据库针对大量更新操作需要的复杂事务管理或回卷策略。目录服务的 更新一般都非常简单。这种目录可以存储包括个人信息、web链结、jpeg图像等各种信息。为了访问存储在目录中的信息,需要使用运行在TCP/IP之上的访问协议——LDAP。

LDAP目录中的信息按照树型结构组织,具体信息存储在条目(entry)数据结构中。条目相当于关系数据库中表的记录;条目是具有区别名DN(Distinguished Name)的属性(Attribute)集合,DN是用来引用条目的。属性由类型(Type)和一个或多个值(Values)组成,类型规定了属性允许存放的值的约束条件,同时也规定了该类型数据进行比较时的规则。LDAP使用语法(Syntax)这一概念表示属性的取值约束和比较规则,常用的语法是字符型。

LDAP中条目的组织一般按照地理位置和组织关系进行组织,非常的直观。LDAP把数据存放在文件中,为提高效率可以使用基于索引的文件数据库。类型的一个例子如mail,其值一个电子邮件地址。LDAP的信息是以树型结构存储的,在树根一般定义国家(c=CN)或域名(dc=com),在其下则往往定义一个或多个组织(organization)(o=Acme)或组织单元(organizational units) (ou=People)。一个组织单元可能包含诸如所有雇员、大楼内的所有打印机等信息。

在属性基础上LDAP使用schema进一步约束目录条目。schema是一种类型定义机制,每种类型定义又称为objectclass,它规定该类型目录条目实例必须的和可选的属性等约束。与面向对象的编程语言类似,objectclass支持继承,且所有的objectclass都是top的子类型。常见的objectclass有InetOrgPerson、OrganizationalUnit等。

2、OpenLDAP安装部署

2.1、下载地址

windows平台下载地址:http://www.userbooster.de/download/openldap-for-windows.aspx

linux平台下载地址:http://www.openldap.org/

2.2、安装

安装提示默认安装即可。

2.3、配置

(1)打开OPENLDAP_HOME/sldap.conf文件,找到以下行:

include????????./schema/core.schema

在后面添加新的schema,schema定义在OPENLDAP_HOME/schema文件夹中。

在sldap.conf文件中找到以下两行:

suffix????????"dc=maxcrc,dc=com"

rootdn????????"cn=Manager,dc=maxcrc,dc=com"

修改为:

suffix????????"dc=esrigz,dc=com"

rootdn????????"cn=Manager,dc=esrigz,dc=com"

suffix中的定义必须与ldif文件中定义的一致。

在该配置文件中还有一个参数rootpw,这个密码是cn=Manager的密码,在安装时已定义。

(2)启动OpenLDAP

打开控制台,定位到OpenLDAP安装目录下,执行命令启动OpenLDAP:

slapd –d 1

可以看到控制台下打印一片信息,openldap安装时选用的Berkeley DB 数据库存储目录数据。

2.4、建立条目并导入ldif文件

新建ldif文件(纯文本格式),内容如下:

dn: dc=esrigz,dc=com

objectclass: domain

objectclass: top

o: esri guangzhou

dc: esrigz

??

dn: ou=Developer,dc=esrigz,dc=com

objectclass: organizationalUnit

ou: Developer

description: Container for developer entries

??

dn: ou=Manager,dc=esrigz,dc=com

objectclass: organizationalUnit

ou: Manager

description: Container for manager entries

??

dn: uid=yun,ou=Developer,dc=esrigz,dc=com

uid: yun

objectClass: inetOrgPerson

mail: yun@mail.com

userPassword: 123456

labeledURI: http://www.esri.com

sn: xin

cn: yun xin

??

dn: uid=xinli,ou=Manager,dc=esrigz,dc=com

uid: xinli

objectClass: inetOrgPerson

userPassword: 123456

labeledURI: http://www.esri.com

sn: wu

cn: xinli wu

注意:格式要求严格,每行开头和结尾不能有空格。

执行命令导入ldif文件:

ldapadd -D "cn=Manager,dc=esrigz,dc=com" -w secret -f test.ldif

参数说明:

  • -D 指定管理员DN(与slapd.conf中配置的一致)
  • -W 大写W表示回车后根据提示输入密码,可以使用小写的-w password 直接输入密码
  • -f 需要导入数据LDIF的文件名

详细的参数说明可使用ldapadd --?查看。

执行命令查看导入的信息:

ldapsearch –x –b "dc=esrigz,dc=com"

2.5、LdapBrowser客户端部署

解压双击lbe.bat即可运行。

点击Fetch DNs会自动获取DN信息。

使用manager账号访问。

LDAP入门与OpenLDAP使用配置