我是64位电脑,所以选择64位安装程序:
https://www.maxcrc.de/wp-content/uploads/2020/04/OpenLDAPforWindows_x64.zip
https://download.csdn.net/download/oscar999/12857001
网盘提取,链接:https://pan.baidu.com/s/17_d3bLa4gOLYTif62dQrAA ,提取码:qfzq
包含了两个文件:OpenLDAPforWindows_x64.zip和LdapBrowser282.zip。
解压缩OpenLDAPforWindows_x64.zip并双击解压后的exe文件即可安装。
信息填写完毕并确认,点击install
安装完成后会自动注册Windows服务并开机自动启动, 如果是开发或测试,建议先设置为手动启动,设置方式是在Windows服务中找到OpenLDAP Service, 启动类型设置为”手动“
windows服务打开方法:开始菜单中输入服务,点击服务即可。
到LDAP安装目录下用slapd启动
slapd -f slapd.conf -d 1
OpenLDAP 安装的目录如下:
run目录和ClientTools目录是两个常用的目录
run目录包含启动的批处理脚本
ClientTools 里面包含一些客户端的工具,比如查询和添加条目等等。
命令行切换到run目录下,执行命令:
run
下载链接3的网盘中包含了ldap browser安装包,下载解压后直接双击:lbe.bat 文件即可运行
这里好多文章的host写的localhost,我的电脑写localhost链接失败,改成本机ip就可以。
安装完成,默认会有一个People的OU。
在OpenLDAP安装目录下新建一个.ldif 后缀的文件, 这里的文件名是 mydemo.ldif, 在该文件输入的内容如下:
dn: dc=micmiu,dc=com
objectclass: domain
objectclass: top
o: Michael Blog
dc: micmiu
dn: ou=Developer,dc=micmiu,dc=com
objectclass: organizationalUnit
ou: Developer
description: Container for developer entries
dn: ou=Tester,dc=micmiu,dc=com
objectclass: organizationalUnit
ou: Tester
description: Container for test entries
dn: uid=Michael,ou=Developer,dc=micmiu,dc=com
uid: Michael
objectClass: inetOrgPerson
mail: [email protected]
userPassword: 111111
labeledURI: http://www.micmiu.com
sn: Sun
cn: Michael Sun
dn: uid=Miumiu,ou=Tester,dc=micmiu,dc=com
uid: Miumiu
objectClass: inetOrgPerson
userPassword: 111111
labeledURI: http://www.micmiu.com
sn: Wu
cn: Miumiu Wu
编辑文件:c:\OpenLDAP\slapd.conf 找到如下内容:
suffix "dc=maxcrc,dc=com"
rootdn "cn=Manager,dc=maxcrc,dc=com"
修改成:
suffix "dc=micmiu,dc=com"
rootdn "cn=Manager,dc=micmiu,dc=com"
修改后,ldapbrowe登录时使用的base DN填写的dc也要和修改的一致。
命令行切换到C:\OpenLDAP 目录,输入命令:
ldapadd -x -D "cn=Manager,dc=maxcrc,dc=com" -w secret -f ./mydemo.ldif
参数说明:
-x 使用简单验证方式
-D 指定管理员DN(与slapd.conf中配置的一致)
-W 大写W表示回车后根据提示输入密码,可以使用小写的-w password 直接输入密码
-f 需要导入数据LDIF的文件名
-h 目录服务器的IP地址
这里使用Manager管理用户进行添加。
我运行报错如下提示:‘ldapadd’ is not recognized as an internal or external command,operable program or batch file.
’ldapadd’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
如果没有”ldapadd“这个命令,还可以用它自带的命令“slapadd”代替导入数据文件。不过要注意的是:和ldapadd命令不同的是:执行slapadd命令前需要先停止之前启动的 slapd 服务(打开服务确定停止了该服务),然后在控制台中切换到openLDAP安装目录下执行命令:
slapadd -v -l ./mydemo.ldif
如果报错:
说明找不到slapd.conf文件,我们需要自己指定slapd.conf文件
执行以下命令可以解决:
slapadd -v -l mydemo.ldif -f slapd.conf
ldapadd 和 slapadd 的差异:
ldapadd 对本地和远程服务都可以操作,操作时LDAP服务是不能停止
slapadd 只能对本地的LDAP服务进行操作,操作时本地LDAP服务必须先停止。
添加成功可以在ldap browser看到:
1 新建链接
Host:主机IP
Port:默认389
Base:配置域名
UserName:默认管理员用户
Password:管理员密码
2 数据初始化(使用LdapBrowser,执行lbe.bat文件即可启动)
导入init.ldif即可
ps:必须初始化才可以进行后续的操作,直接新建ldif文件会因为编码问题导致不能成功导入,所以最好在原有的文件基础上修改。
3 添加用户操作(使用LdapAdmin.exe)
1 右键目录->new->entry
2 objectclass选择top、uidObject、inetOrgPerson
3 Attribute中uid(用户id)、sn、cn、givenName(用户名)
4 Rdn取uid
1 注意每行顶行写
2 key、value间用空格隔开
3 一个dn为一个entry,每个entry用空行隔开
4 执行./docs/back-meta/data/setup.sh文件可以生成ldif
5 demo
dn: dc=crm,dc=com
objectClass: dcObject
objectClass: organization
o: info.net
dn: ou=Developer, dc=crm,dc=com
objectClass: top
objectClass: organizationalUnit
ou: Developer
description: Developer Users
dn: cn=Manager, dc=crm,dc=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
cn: Manager
sn: Manager
userPassword: Manager
description: Manager Users
文章参考了好多个网络上查到的文章,
http://www.micmiu.com/enterprise-app/sso/openldap-windows-config/
https://oscar.blog.csdn.net/article/details/108654461
https://www.freesion.com/article/795850002/ 此文章中有可添加Group,并且Group下有若干user的结构的ldif文件。
https://cloud.tencent.com/developer/article/2084965
添加ldap条目可以直接使用工具ldap admin
http://www.ldapadmin.org/,但是此网址我打开后没有下载链接,感兴趣的朋友可以去网上查找。