zoukankan      html  css  js  c++  java
  • 图文介绍openLDAP在windows上的安装配置

    目录

    • 概述
    • 测试环境
    • 安装过程
    • 配置启动
    • 客户端介绍
    • 多级DC的ldif文件的配置

    [一]、概述

    什么叫LDAP呢,概念的东西这里就不多讲了,网上搜索下有很多,本文的重点是介绍如何在windows平台上安装和配置openLDAP软件。

    openLDAP官方网站:http://www.openldap.org/

    openLDAP官网只提供了linux平台的相关安装文件,windows平台的安装包可以到以下一些网站下载:

    • http://www.userbooster.de/download/openldap-for-windows.aspx(本文所用的版本
    • http://sourceforge.net/projects/openldapwindows/files/
    • http://sourceforge.jp/projects/openldapwin32/releases/
     

    [二]、测试环境

    [三]、安装过程

    按照提示 一直 next ,直到安装完成:

    安装完成后,在系统服务中,找到 OpenLDAP Service,先停止服务,再把启动类型修改成手动,便于自己的测试。

    [四]、配置启动

    安装目录:D:\Program Files (x86)\OpenLDAP

    编辑文件:D:\Program Files (x86)\OpenLDAP\slapd.conf 找到如下内容:

    1 suffix      "dc=maxcrc,dc=com"
    2 rootdn      "cn=Manager,dc=maxcrc,dc=com"

    修改成:

    1 suffix      "dc=micmiu,dc=com"
    2 rootdn      "cn=Manager,dc=micmiu,dc=com"

    打开控制台,切换到openLDAP安装目录下,启动openLDAP,命令如下:

    1 slapd -d 1

    会在控制台看到类似如下的日志信息:

    日志信息:slapd starting 表示服务已经启动好了。

    新建一个文件:D:\Program Files (x86)\OpenLDAP\mydemo.ldif ,内容如下:

    1 dn: dc=micmiu,dc=com
    2 objectclass: domain
    3 objectclass: top
    4 o: Michael Blog
    5 dc: micmiu
    6  
    7 dn: ou=Developer,dc=micmiu,dc=com
    8 objectclass: organizationalUnit
    9 ou: Developer
    10 description: Container for developer entries
    11  
    12 dn: ou=Tester,dc=micmiu,dc=com
    13 objectclass: organizationalUnit
    14 ou: Tester
    15 description: Container for test entries
    16  
    17 dn: uid=Michael,ou=Developer,dc=micmiu,dc=com
    18 uid: Michael
    19 objectClass: inetOrgPerson
    20 mail: sjsky_007@gmail.com
    21 userPassword: 111111
    22 labeledURI: http://www.micmiu.com
    23 sn: Sun
    24 cn: Michael Sun
    25  
    26 dn: uid=Miumiu,ou=Tester,dc=micmiu,dc=com
    27 uid: Miumiu
    28 objectClass: inetOrgPerson
    29 userPassword: 111111
    30 labeledURI: http://www.micmiu.com
    31 sn: Wu
    32 cn: Miumiu Wu

    tips:格式要严格,每行的开头和末尾不能有空格

    然后在控制台中切换到openLDAP安装目录下执行ldapadd命令:

    1 ldapadd -x -D "cn=Manager,dc=micmiu,dc=com" -w secret -f ./mydemo.ldif

    参数说明:

    • -x 使用简单验证方式
    • -D 指定管理员DN(与slapd.conf中配置的一致)
    • -W 大写W表示回车后根据提示输入密码,可以使用小写的-w password 直接输入密码
    • -f 需要导入数据LDIF的文件名
    • -h 目录服务器的IP地址

    添加成功会显示如下信息:

    !!!有网友说:按照我上面的命令,提示:’ldapadd’ 不是内部或外部命令,也不是可运行的程序或批处理文件。经过我的验证发现,该windows版本的openLDAP确实没有这个命令,我能执行成功是因为本机安装过oracle,而Oracle自带安装了LDAP client的一些常用命令。

    如果没有”ldapadd“这个命令,还可以用它自带的命令“slapadd”代替导入数据文件。不过要注意的是:和ldapadd命令不同的是:执行slapadd命令前需要先停止之前启动的 slapd 服务(打开服务确定停止了该服务),然后在控制台中切换到openLDAP安装目录下执行命令:

    1 slapadd -v -l ./mydemo.ldif

    运行结果如下:

    ldapadd 和 slapadd 的差异:

    • ldapadd 对本地和远程服务都可以操作,操作时LDAP服务是不能停止
    • slapadd 只能对本地的LDAP服务进行操作,操作时本地LDAP服务必须先停止

    验证添加的信息,在控制台中,切换到%OpenLDAP_HOME%/ClientTools 输入查询命令:

    1 ldapsearch -x -b "dc=micmiu,dc=com" "(objectclass=*)"

    查询结果如下:

    D:\Program Files (x86)\OpenLDAP\ClientTools>ldapsearch -x -b "dc=micmiu,dc=com" "(objectclas
    s=*)"
    dc=micmiu,dc=com
    objectClass=domain
    objectClass=top
    o=Michael Blog
    dc=micmiu
    
    ou=Developer,dc=micmiu,dc=com
    objectClass=organizationalUnit
    ou=Developer
    description=Container for developer entries
    
    ou=Tester,dc=micmiu,dc=com
    objectClass=organizationalUnit
    ou=Tester
    description=Container for test entries
    
    uid=Michael,ou=Developer,dc=micmiu,dc=com
    uid=Michael
    objectClass=inetOrgPerson
    mail=sjsky_007@gmail.com
    userPassword=111111
    labeledURI=http://www.micmiu.com
    sn=Sun
    cn=Michael Sun
    
    uid=Miumiu,ou=Tester,dc=micmiu,dc=com
    uid=Miumiu
    objectClass=inetOrgPerson
    userPassword=111111
    labeledURI=http://www.micmiu.com
    sn=Wu
    cn=Miumiu Wu

    验证成功。

    [五]、客户端介绍

    网上搜索到一个客户端:LdapBrowser282  附件提供相关下载:LdapBrowser282.zip

    下载解压后直接双击:lbe.bat 文件即可运行。


    点击上图中的 Fetch DNs 按钮会自动获取相关的DN信息的。

    上面的输入的密码就是之前安装过程中的那个密码(如果自己没有修改过)

    可以正确查询到之前添加的相关信息。

    [六]、多级DC的ldif文件的配置

    在实际应用中我们经常会碰到二级域名,类似:app1.micmiu.com、app2.micmiu.com,那么对应到LDAP中的DC就是多级,这时我们ldif文件又是如何配置呢?下面将给出个示例演示,新建一个文件:D:\Program Files (x86)\OpenLDAP\myappuser.ldif ,内容如下:

    1 dn: dc=app1,dc=micmiu,dc=com
    2 objectclass: domain
    3 o: Michael Demo
    4 dc: app1
    5  
    6 dn: dc=app2,dc=micmiu,dc=com
    7 objectclass: domain
    8 o: Michael Demo
    9 dc: app2
    10  
    11 dn: ou=Demo,dc=app1,dc=micmiu,dc=com
    12 objectclass: organizationalUnit
    13 ou: Developer
    14 description: Container for Demo entries
    15  
    16 dn: ou=Demo,dc=app2,dc=micmiu,dc=com
    17 objectclass: organizationalUnit
    18 ou: Developer
    19 description: Container for Demo entries
    20  
    21 dn: uid=michael,ou=Demo,dc=app1,dc=micmiu,dc=com
    22 uid: admin
    23 objectClass: inetOrgPerson
    24 mail: sjsky_007@gmail.com
    25 userPassword: 111111
    26 labeledURI: http://www.micmiu.com
    27 sn: Sun
    28 cn: Michael Sun
    29  
    30 dn: uid=hazel,ou=Demo,dc=app1,dc=micmiu,dc=com
    31 uid: user
    32 objectClass: inetOrgPerson
    33 userPassword: 111111
    34 labeledURI: http://www.micmiu.com
    35 sn: Wu
    36 cn: Hazel Wu
    37  
    38 dn: uid=michael,ou=Demo,dc=app2,dc=micmiu,dc=com
    39 uid: admin
    40 objectClass: inetOrgPerson
    41 mail: sjsky_007@gmail.com
    42 userPassword: 111111
    43 labeledURI: http://www.micmiu.com
    44 sn: Sun
    45 cn: Michael Sun
    46  
    47 dn: uid=hazel,ou=Demo,dc=app2,dc=micmiu,dc=com
    48 uid: user
    49 objectClass: inetOrgPerson
    50 userPassword: 111111
    51 labeledURI: http://www.micmiu.com
    52 sn: Wu
    53 cn: Hazel Wu

    tips:注意dc的对应关系,如下图:

    然后在控制台窗口中执行ldapadd命令:

    ldapadd -x -D "cn=Manager,dc=micmiu,dc=com" -w secret -f ./myappuser.ldif

    添加成功会显示如下信息:

    如果 ldapadd 命令无法运行,先停止slapd 服务,然后在控制台中切换到openLDAP安装目录下执行命令:

    slapadd -v -l ./myappuser.ldif

    客户端工具中可以查询到相关信息:

    ok,本文到此已经基本介绍完了,以后再详细介绍如何用Java实现对LDAP的相关操作。

  • 相关阅读:
    changing a pointer rather than erasing memory cells
    验证码识别 edge enhancement 轮廓增强 region finding 区域查找
    Manipulating Data Structures
    passing parameters by value is inefficient when the parameters represent large blocks of data
    Aliasing 走样
    Artificial Intelligence Research Methodologies 人工智能研究方法
    Thread safety
    include pointers as a primitive data type
    flat file
    functional cohesion
  • 原文地址:https://www.cnblogs.com/duanxz/p/3030273.html
Copyright © 2011-2022 走看看