LDAP

一、LDAP的安装

linux 的 安装我就不赘述了,度娘有很多,这里有个window版的下载地址,大家可以自己试下,最好用迅雷下载,浏览器自己下载太慢了。

openldap:
32位:https://www.maxcrc.de/wp-content/uploads/2019/04/OpenLDAPforWindows_x86.zip
63位:https://www.maxcrc.de/wp-content/uploads/2019/04/OpenLDAPforWindows_x64.zip
CSDN下载地址:
32位:https://download.csdn.net/download/qq_35915146/12277493
64位:https://download.csdn.net/download/qq_35915146/12277502
openldap安装
一直下一步就好了。
注意这个页面选个BDB
安装注意
安装完成就会在任务管理器的服务,看到openldap的服务正在运行了,我们重启或者停止也可以在这操作
openldap的启动与关闭

二、数据导入

安装目录:C:\OpenLDAP
编辑文件: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"

然后重启openldap服务。

新建一个文件:C:\OpenLDAP\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 fordeveloper entries

dn:ou=Tester,dc=micmiu,dc=com
objectclass:organizationalUnit
ou:Tester
description:Container fortest entries

dn: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

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\ 页面打开命令行窗口
执行命令

ldapadd -x -D "cn=Manager,dc=micmiu,dc=com" -w secret -f ./mydemo.ldif
![插入数据](https://img-blog.csdnimg.cn/20200328145147181.png)

三、可视化客户端

LDAP简易客户端地址:
双击lbe.bat即可运行
ldap客户端启动
运行后,输入服务器IP,端口,查找DN,输入账号密码即可连接成功
LDAP连接
默认连接后的页面:点击图标或者选中目标右键就可以操作了
ldap连接

四、LDAP权限控制

具体可以参考文章:https://blog.csdn.net/xyy511/article/details/90521102?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-tas
这里很详细

五、配置示例

在 C:\OpenLDAP\目录增加文件:slapd.access.conf 并添加如下示例内容

并且在C:\OpenLDAP\slapd.conf 增加一行

include		./slapd.access.conf

重启ldap服务

下面示例实现了分级管理 并且限制登录 :
1.Developer组的用户,可以登录客户端 ,但是不允许修改自己的组,可以读取Tester组的用户,但是不可以修改。
2.Tester组的用户,不可以登录客户端

# 限制Developer组可以登录
access to dn.children="ou=Developer,dc=micmiu,dc=com"
	by anonymous                    auth
# 限制Tester组可以被Developer组读取,Tester组没其他权限
access to dn.children="ou=Tester,dc=micmiu,dc=com"
	by dn.children="ou=Developer,dc=micmiu,dc=com" read
	by * none
#针对于所有组,匿名用户可以认证,自己可以修改自己,认证用户可以读取。
access to *
    by anonymous            auth
    by self                         write
    by users                      read 

这里注意的是,权限划分是从下至上的,先划分下面的大权限,然后控制单独每个组的权限。

Logo

更多推荐