• 图文介绍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的相关操作。

  • 相关阅读:
    FMDB 使用方法
    Masonry
    iOS请求服务器数据去空NSNull
    NSProgress
    根据图标名称动态设置TreeList图标
    控制显示行头列(Indicator)
    窗体内元素遍历-通用方法(DevExpress 中BarManager的遍历)
    BarManager相关使用
    C# 枚举变量
    dev TreeList 获取可视区域节点方法
  • 原文地址:https://www.cnblogs.com/duanxz/p/3030273.html
Copyright © 2020-2023  润新知