OpenLDAP Windows版本安装与配置——初用即过时
序: Windows系统下的OpenLDAP,网上没找到比2.4.xx更加新的版本。很多文档写Windows下的OpenLDAP的安装和配置都很好,不过他们也没有预料Windows版本将发生的变化吧。
本着Windows下能用则用的目标,将2.4.49配置的特殊情况——即slapd.exe找不到"%SYSCONFDIR%\slapd.conf"的问题的解决方法留下来。另外,也当作我向Windows AD软件作者们的致敬!
本文有效期,预计和Windows 10相同。
对于刚接触LDAP的网友,可以先看一组OpenLDAP的简介
https://www.cnblogs.com/lfdblog/p/9803276.html ldap 基本名词解释
http://www.ldap.org.cn/279.html LDAP基础概念,我们将用到的 inetOrgPerson 对象类
初: 进入正题,新版的linux的OpenLDAP源安装包据说已经放弃了slapd.conf文件,转而用命令行和一个个.ldif配置文件来完成配置。
在我找到的Windows下最高版本的2.4.49中,这个情况已经初现端倪,安装出来的slapd.exe 无法识别到同目录下的slapd.conf,它会报错:
could not stat config file "%SYSCONFDIR%\slapd.conf": No such file or directory (2)
安装包下载地址 https://www.maxcrc.de/en/download-en/ 另有百都网盘一份 链接:https://pan.baidu.com/s/15J8EfkWrChn2JCyJWLb_Cg?pwd=digi 提取码:digi
安装过程指南 https://www.maxcrc.de/en/openldap-for-windows-installation-en/ 我装的时候没有修改默认的密码secret,数据库我选了BDB (Berkeley DB)
由于slapd.exe找不到"%SYSCONFDIR%\slapd.conf",安装OpenLDAP Service只会增加误解,所以去除。
数据库我选了BDB,看安装文档貌似BDB配置最简单。
再: 接着安装apache Directory Studio,或者直接用绿色解压缩版也可。
安装包和zip绿色包下载地址 https://directory.apache.org/studio/download/download-windows.html
此时的最新版是v2.0.0 M17
由于我对ldap或slap的命令行工具+.ldif格式文件的编写比较为难,所以基本上使用此Apache DS工具。后续内容也是基于此工具的。
还有一个纯浏览的工具LDAP Browser是可选项,下载地址 https://ldapbrowserwindows.com/
一,运行OpenLDAP Windows服务端
从命令行启动时,加上-f xx.conf参数指定slapd.conf 文件就可以了,但是不要立刻运行,因为这个文件里用的域名是maxcrc.com,要先把它改掉,比如mini3de.com:
maxcrc.*.pem直接无视,因为我不知道怎么去申请或自制xx.com这种级别的pem证书。希望有才能的人补完吧, rootpw是secret,不变。
TLSCipherSuite ECDHE-RSA-AES256-SHA384:AES256-SHA256:!RC4:HIGH:!MD5:!aNULL:!EDH:!EXP:!SSLV2:!eNULL TLSProtocolMin 3.3 TLSCertificateFile ./secure/certs/maxcrc.cert.pem TLSCertificateKeyFile ./secure/certs/maxcrc.key.pem TLSCACertificateFile ./secure/certs/maxcrc.cert.pem ####################################################################### # bdb database definitions ####################################################################### database bdb suffix "dc=mini3de,dc=com" rootdn "cn=Manager,dc=mini3de,dc=com" # Cleartext passwords, especially for the rootdn, should # be avoid. See slappasswd(8) and slapd.conf(5) for details. # Use of strong authentication encouraged. rootpw {SSHA}QZlT0WNWU4nHvbD0U/D0xZks4wHA4jbc # The database directory MUST exist prior to running slapd AND # should only be accessible by the slapd and slap tools. # Mode 700 recommended. directory ./data
用命令行启动slapd程序及参数
C:\Users\Administrator>cd C:\OpenLDAP C:\OpenLDAP>.\slapd.exe -d 1 -f .\slapd.conf
会有一个warning - no DB_CONFIG file found in directory ./data: (2). 网上据说有一个DB_CONFIG.example复制过来就好了,可是在这个windows版本里没找到,继续无视。
warning - no DB_CONFIG file found in directory ./data: (2).
此时,可以用Apache Directory Studio 建立连接,Authentication Parameter设置Bind DN or User为slapd.conf文件的rootdn的值,设置Bind Password为rootpw的原始值,即安装时设置的secret。
成功登录后显示如下:
如果想换一个域的话,先停止此slapd.exe,然后删除相对路径.\data目录中的全部文件,修改slapd.conf后再启动slapd。
以下链接是Apache DS的用法,特别是Schema浏览工具会用到。
https://www.cnblogs.com/somata/p/apacheDirectoryStudioSimpleUse.html Apache Directory Studio 简易使用
https://www.cnblogs.com/it-abang/p/14311477.html Apache DS创建根域名
https://juejin.cn/post/7090348803005349924 前半部分是使用Apache DS创建根域名与用户
https://juejin.cn/post/6877964799443992590 创建过程中的RDN是Relative distinguished name
https://www.cnblogs.com/yuluoxingkong/p/12198311.html Windows下的安装和配置,用的是ldif配置文件
https://www.cnblogs.com/xzkzzz/p/9269714.html ldap常用命令简介
二,建立一个体面的域名和子条目
可以看到此时的Apache DS 左侧的树根DIT下面什么都没有,连cn=Manager,dc=mini3de,dc=com也没有,真不知道它是怎么用这个dn登录上去的。
接下来需要创建dc=mini3de,dc=com的域。发现安装目录下,有一个maxcrc.ldif文件,其内容就是用来创建maxcrc.com域根的,稍加修改:
dn: dc=mini3de,dc=com objectClass: domain objectClass: top dc: mini3de dn: ou=People,dc=mini3de,dc=com objectclass: top objectclass: organizationalUnit ou: People description: Container for user entries
然后在Apache DS中,对DIT根点右键-->import菜单-->ldif文件,导入。
导入成功后,可以看到新建的域根和People组织:
三, 新建用户账号
此时可以在Apache DS中方便地创建组织或人员条目(Entry),注意创建人员地时候,object classes一般选择inetOrgPerson,此时它的父类型也自动被选入。
人员推荐用uid属性(Attribute)作为不重复的唯一标识,另外可以添加密码,使用userPassword属性。
尝试发现可以新增RDN 为 cn=Manager的人员,故意设置了不同于默认的密码做测试,发现两个密码都能正常登录,可以算是少数的惊喜。
设置RDN
设置密码
以上。