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使用配置的更多相关文章

  1. Centos7 Openldap主从配置

    转载 https://blog.csdn.net/htvxjl02/article/details/80336788 Centos7 Openldap主从配置 2018年05月16日 15:09:57 ...

  2. MyCat 入门:漫谈 MyCat 配置系统

    文章首发于[博客园-陈树义],点击跳转到原文<MyCat 入门:漫谈 MyCat 配置系统> 上篇文章<MyCat 启蒙:分布式系统的数据库架构演变>中,我们通过一个项目从零到 ...

  3. Redis入门 -- Redis安装与配置

    Redis入门 -- Redis安装与配置 Redis的安装 Redis的安装,我这里使用的是虚拟机. 为了让主机和虚拟机之间可以顺利通信,按照以下步骤进行: 1. 将网络连接模式改为桥接 2. re ...

  4. ref:LDAP入门

    ref:https://www.jianshu.com/p/7e4d99f6baaf LDAP入门 首先要先理解什么是LDAP,当时我看了很多解释,也是云里雾里,弄不清楚.在这里给大家稍微捋一捋. 首 ...

  5. Linux基础入门之网络属性配置

    Linux基础入门之网络属性配置 摘要 Linux网络属性配置,最根本的就是ip和子网掩码(netmask),子网掩码是用来让本地主机来判断通信目标是否是本地网络内主机的,从而采取不同的通信机制. L ...

  6. SFML从入门到放弃(0) 配置环境

    SFML从入门到放弃(0) 配置环境 恩..开始划水..学sfml的时候顺便做点笔记什么的.. 安装 在linux里面打开终端 然后输入 sudo apt-get install libsfml-de ...

  7. Spring Cloud实战之初级入门(五)— 配置中心服务化与配置实时刷新

    目录 1.环境介绍 2.配置中心服务化 2.1 改造mirco-service-spring-config 2.2 改造mirco-service-provider.mirco-service-con ...

  8. PHP入门及服务环境配置(Nginx+PHP)

    PHP入门及服务环境配置(Nginx+PHP) PHP入门 PHP维基百科: PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器")是一 ...

  9. Asp.Net SignalR 使用记录 技术回炉重造-总纲 动态类型dynamic转换为特定类型T的方案 通过对象方法获取委托_C#反射获取委托_ .net core入门-跨域访问配置

    Asp.Net SignalR 使用记录   工作上遇到一个推送消息的功能的实现.本着面向百度编程的思想.网上百度了一大堆.主要的实现方式是原生的WebSocket,和SignalR,再次写一个关于A ...

随机推荐

  1. 文件管理NSFileManager

    //NSFileManager - (void)viewDidLoad { [super viewDidLoad]; NSLog(@"%@",NSHomeDirectory()); ...

  2. audiosprite的使用

    github地址: https://github.com/tonistiigi/audiosprite 使用方法: http://www.jikexueyuan.com/course/2510_2.h ...

  3. D. Minimum Diameter Tree Round #528 (Div. 2)【树】

    一.题面 题目链接 二.分析 该题注意读题的时候有强调边的权值为非负(即可以为0),此题就是求树两个叶子节点之间的最短距离.为了使两个叶子节点之间的距离最短,那么其实就是让每个最后到叶子的那条路径尽量 ...

  4. UVALive - 7061 区间DP初步

    题意:杀一只狼i会收到a[i]+b[i当前左边]+b[i当前右边]的攻击,求杀死所有狼的最小代价 #include<iostream> #include<algorithm> ...

  5. hive安装 jdbc链接hive

    1. 下载hive安装包 2. 进入 conf 中  :  cp hive-default.xml.template hive-site.xml,  vi hive-site.xml 1)首行添加: ...

  6. 二叉堆(小到大)-数据结构-JavaScript版

    /** * Created by caoke on 2015/11/21. */ //二叉树 特点父节点比子节点小 var Tree2=function(){ //初始化 二叉树的子元素 this.c ...

  7. 【记录】sqli-labs-master搭建

    附上:链接:http://pan.baidu.com/s/1bpCRzl1 密码:ep48 下载完成后直接解压到phpstudy(该工具之前分享过,直接搜索下)的WWW目录下,启动phpstudy, ...

  8. 破解myBase试用到期

    请保持你的myBase7是关闭的 1.找到myBase7的安装目录(myBase.exe的目录): 2.右键编辑打开myBase.ini: 3.找到 App.UserLic.FirstUseOn,并在 ...

  9. Python+Selenium之HTMLTestRunner

    下载 HTMLTestRunner 模块 下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 保存路径:将下载的HTMLTestRunne ...

  10. Json化数据-调微信接口

    // 先获取用户openid列表 List<String> openids = wxPhotoUpload.getUserOpenIdList(access_token); TreeMap ...