Windows 下搭建LDAP服务器

Windows搭建Ldap服务器 Windows搭建Ldap服务器Rerference Sofeware LdapServer安装包 openldap-2.2.29-db-4.3.29-openssl-0.9.8a-win32_Setup.exe Ldap客户端 LdapAdmin.exe 安装 一路next到install即可。 配置文件1 slapd.conf 2 找到 include ./schema/c 阅读详情

The Lightweight Directory Access Protocol , or LDAP ,is an application protocol for querying and modifying directory services running over TCP/IP .(viawikipedia)。LDAP 全称是一个轻量级的目录访问协议,它是建立在TCP/IP 基础之上的用来查询和修改目录服务的。这是照着wiki翻译的,但是有人要问了什么是Directory Service(目录服务)?

按照wiki的说法的话讲:在软件行业,目录就如同一个字典,他使得通过某一名称去查找绑定在该名称上的值得方式成为一种可能。有点类似Java中Map的概念。a directory service is simply the software system that stores, organizes and provides access to information in a directory.一个目录服务就是一个简单的软件系统,在这个目录上提供了存取和组织信息的功能。LDAP 目录中可以存储各种类型的数据:电子邮件地址、邮件路由信息、人力资源数据、公用密匙、联系人列表,等等。

OK,进入正题。Google搜索 windows ldap服务器,终于找到了一个比较好的流行的:Open LDAP(点击下载)。

一、Open LDAP安装和配置

安装还是比较简单的,一直next就好。

这里记得把上面2个都选上,将LDAP注册为系统的一个服务,默认安装位置:C:\ProgramFiles\OpenLDAP,

进入安装目录,编辑slapd.conf 文件:

找到

ucdata-path ./ucdata
include ./schema/core.schema

在下面加入:(注意你的系统路径,可能随安装位置不同而稍有差异)

include ./schema/core.schema (这里是和原来有的,如果加入的话就重复包含了,不能正常启动了。应该除这句外都加入)
include./schema/corba.schema
include ./schema/dyngroup.schema
include ./schema/java.schema
include ./schema/misc.schema
include ./schema/cosine.schema
include ./schema/nis.schema
include ./schema/inetorgperson.schema
include ./schema/openldap.schema

这个搞定以后,在同一文件后面的(大概65-66行,修改)

suffix ”o=anotherbug,c=com“   (直接拷贝过去引号会变成中文的。注意引号用英文的,会影响启动)
rootdn ”cn=manager,o=anotherbug,c=com“

还有第70行的位置 : rootpw secret,这里要修改为加密后的密码。

具体操作:

打开命令行,定位到安装目录下,输入:slappasswd -h{MD5} –s “替换为你想要设置的密码,无引号”

 
 

将生成的MD5密文:{MD5}Xr4ilOzQ4PCOq3aQ0qbuaQ==填入原来secret位置。

 

OK至此配置已经搞定,可以测试一下服务了。打开命令行转到安装目录下输入:sldapd -d1  注意命令是(slapd -d 1)

至此LDAP服务器已经搭建并可以跑起来了.下面要来测试怎么倒入.ldif格式的数据了。
 

二、建立条目(Entry) ,导入 ldif 后缀名文件

ldif:LDAP Data Interchange Format,基于文本。有两种类型的 LDIF 文件:第一种是描述Directory 条目数据的,第二种是描述更新条目的。我们主要看怎么描述条目的。

打开编辑器(如Editplus,UltraEdit 等),新建test.ldif 内容如下:

dn: o=anotherbug,c=com
objectClass: dcObject
objectClass: organization
o: anotherbug
dc: com

dn: uid=mousepoato, o=anotherbug,c=com
uid: mousepoato
objectClass: inetOrgPerson
mail: paradise.lsj@gmail.com
userPassword: admin
labeledURI: http://anotherbug.com/blog
sn: Li
cn: test

注意ldif文件对格式的要求非常严格,属性要以冒号和空格与值隔开,并且其他地方不允许有空格。否则当你导入ldif文件时,会提示出现“ldap_add:Invalid syntax (21)”等诸多错误,另外在我机器上测试,ldif 对中文支持也还不好,比如我将最后的cn:test改为 cn: 鼠标土豆,导入就会报错。

写完保存到安装目录下。在命令行输入:

ldapadd -c -x -D “cn=manager,o=anotherbug,c=com” -w“刚才替换secret出的密码明文” -f test.ldif

运行命令后结果如下:

 
 
注意我们在ldapadd后面加上了 ”–c “参数,他会一直运行不会因错误而终止,比如对系统已经存在的entry命令会提示但不会中止。
 

三、LDAP 查看工具

可能大家看了这么多感觉还是很抽象,我们需要一个GUI看看LDAP到底是个什么东东。

这里推荐两个浏览工具

1、LdapBrowser

这是个Java 开发的 LDAP Browser/Editor 工具,不但跨平台(Windows,Unix-like),而且功能非常完整,速度又快。运行起来的界面时这个样子的。

 
2、Softrra LDAP Administrator 2009

这是一个比较强大和专业的客户端,涵盖了大多数企业的LDAP服务类型。

一直下一步安装成功后,它的配置也是比较简单的:

新建一个profile,命名为Local_LDAP

 

配置连接信息

这是完整配置好后的效果

 

四、通过 JNDI api操作LDAP例子

Javax里面提供的JNDI为我们封装好了对LDAP 的directoryservice进行存取查询的函数,可以方便实用。

贴上我用JUnit4写一个对LADP服务器进行测试的代码供参考:


private static Logger log =Logger.getLogger(TestLdapOper.class);
DirContext context = null;
TestLdap tldap = null;

@Before
public void init() throws NamingException {
tldap = new TestLdap();
context = tldap.getContext();// 获取context
}

@Test
@Ignore
public void testInsert() throws NamingException{
tldap.addEntry(context, “uid=IBM,o=anotherbug,c=com”);
}

@SuppressWarnings(“unchecked”)
@Test
public void testGetAttributes() throws NamingException{
List attNameList = new ArrayList();
attNameList.add(“o”);
attNameList.add(“dc”);
attNameList.add(“objectClass”);
Map map = JNDIUitl.getAttributes(context, “o=anotherbug,c=com”,attNameList);
Iterator keyValuePairs = map.entrySet().iterator();
for (int i = 0; i < map.size(); i++){
Map.Entry entry = (Map.Entry) keyValuePairs.next();
Object key = entry.getKey();
Object value = entry.getValue();
log.info(key + “==key”);
log.info(value + “–value”);
}
}

@SuppressWarnings(“unchecked”)
@Test
public void testGetAttriValues() throws NamingException{
assertEquals(“anotherbug.com”, JNDIUitl.getAttributeValues(context,“o=anotherbug,c=com”, “dc”).get(0) + “”);
List lst = new ArrayList();
lst = JNDIUitl.getAttributeValues(context, “o=anotherbug,c=com”,“objectClass”);
assertEquals(“organization”, lst.get(1) + “”);
for (int i = 0; i < lst.size(); i++){
log.info(lst.get(i));
log.info(ReflectionToStringBuilder.toString(lst.get(i)).toString());
}
}

@SuppressWarnings(“unchecked”)
@Test
public void testSearchContext() throws NamingException{
List list = JNDIUitl.searchContextSub(context,“o=anotherbug,c=com”, “(objectClass=*)”);
for (int i = 0; i < list.size(); i++){
log.info(list.get(i));
}
}

@After
public void destroy() throws NamingException{
context.close();
}

Windows域渗透之LDAP协议 LDAP(Lightweight Directory Access Protocol,轻量目录访问协议)是Windows环境下用于访问和管理目录服务的协议。它广泛应用于企业环境,尤其是在Active Directory中,为用户和计算机提供集中身份管理。本章将详细讲解LDAP协议的基础概念、涉及的加密算法、认证流程、协议的安全性问题,并结合实际示例进行说明。LDAP是一种应用层协议,基于客户端-服务器架构,用于访问和管理集中目录信息(如用户账户、计算机信息、资源权限等)。 阅读详情

相关推荐

WINDOWS下搭建LDAP服务器

WINDOWS下搭建LDAP服务器

ytfhjhv的博客 435

Windows下LDAP服务安装与使用

https://blog.youkuaiyun.com/wrwhahah/article/details/83034126 ldapadd -x -D "cn=Manager,dc=maxcrc,dc=com" -w secret -f ./my.ldif ldapsearch -x -b "dc=maxcrc,dc=com" "(objectclass=*)"

oscar999的专栏 3万+

安装和配置LDAP服务器及连接测试(Windows系统)

在Windows系统中,您可以安装和配置LDAP服务器,并进行连接测试。本文将提供详细的步骤和相应的源代码示例来帮助您完成这些操作。您可以从OpenLDAP官方网站(http://www.openldap.org/)下载最新的Windows版本。这就是在Windows系统下安装和配置LDAP服务器以及进行连接测试的详细步骤。安装完成后,您需要进行LDAP服务器的配置。步骤2:导航到OpenLDAP安装目录,例如:C:\OpenLDAP。步骤3:创建一个新的LDAP配置文件,例如:slapd.conf。

MwDart的博客 2623

文件服务器 ldap,windows下搭建ldap服务器

windows下搭建ldap服务器 内容精选换一换当您发现云服务器的运行速度变慢或云服务器突然出现网络断开的情况,则可能是云服务器的带宽和CPU利用率过高导致。如果您已经通过云监控服务创建过告警任务,当CPU或带宽利用率高时,系统会自动发送告警给您。Windows云服务器带宽流量过高或CPU利用率高,您可以按如下步骤进行排查:问题定位:定位影响云服务器带宽和CPU利用率高的进程。Wind本文以云服...

weixin_35829704的博客 1695

Windows_7_下搭建LDAP服务器并使用JNDI

The Lightweight Directory Access Protocol , or LDAP ,is an application protocol for querying and modifying directory services running over TCP/IP .(via wikipedia )。LDAP全称是一个轻量级的目录访问协议,它是建立在TCP/IP基础之上的用来查询和修改目录服务的。这是照着wiki翻译的,但是有人要问了什么是directory Service(目录服务)? 按照wiki的说法的话讲:在软件行业,目录就如同一个字典,他使得通过某一名称去查找绑定在该名称上的值得方式成为一种可能。有点类似Java中Map的概念。a directory service is simply the software system that stores, organizes and provides access to information in a directory. 一个目录服务就是一个简单的软件系统,在这个目录上提供了存取和组织信息的功能。LDAP目录中可以存储各种类型的数据:电子邮件地址、邮件路由信息、人力资源数据、公用密匙、联系人列表,等等。 OK,进入正题。Google搜索 windows ldap服务器 ,终于找到了一个比较好的流行的:OpenLDAP(点击下载) 。

WINDOWS下搭建LDAP服务器.

LDAP(Lightweight Directory Access Protocol, 轻量级目录访问协议),是一个用于访问目录数据 (特指 X.500 目录模型,笔者并不了解此协议) 的轻量级协议。本文介绍架设 ldap 服务器的一些知识。

Windows ❀ AD域服务器的搭建(LDAP协议)

Windows下AD域服务器是如何搭建的? 一、AD域介绍 1、目录服务 定义:目录服务就是按照树状存储信息的模式 目录服务特点: 目录服务的数据类型主要是字符型,而不是关系数据库提供的整数、浮点数、日期、货币等类型; 为了检索的需要添加了BIN(二进制数据)、CIS(忽略大小写)、CES(大小写敏感)、TEL(电话型)等语法(Syntax)同样也不提供相关系数据库中普遍包含的大量的函数; 目录...

无糖可乐没有灵魂 1万+

最优化问题——一维搜索(一)

最优化问题——一维搜索 1. 一维搜索的引入 1.1 从非线性规划问题到一维搜索 在前面的文章中,我们提到了基于迭代的非线性规划问题的求解思路。在求解过程中,我们提到了在每一步的迭代中都需要对计算步长因子,其计算公式为: λk=minλf(xk+λp)λ_k=min_{λ}f(x_k+λp)λk​=minλ​f(xk​+λp) 我们将f(xk+λp)f(x_k+λp)f(xk​+λp)视为λ的一元函数,我们的目标就是求这个一元函数的极小值。对于这个问题,我通常的求解方式为一维搜索。 1.2 一维搜索的基本形

hei653779919的博客 7360

windows下搭建ldap服务器

LDAP服务器:http://download.bergmans.us/openldap/openldap-2.2.29/openldap-2.2.29-db-4.3.29-openssl-0.9.8a-win32_Setup.exe 还要修改一个地方:在slapd.conf中把include ./schema/core.schema改成: include ...

iteye_16403的博客 393

MOOS-ivp 实验三 MOOS简介(3)

MOOS-ivp 实验三 MOOS简介(3) 继上一篇文章继续对实验进行记录 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录MOOS-ivp 实验三 MOOS简介(3)六、A Simple Example with pXRelay1.pXRelay基本使用2.pXRelay简单例子3.pXRelay实验七、First Experiments in Modifying MOOS App Code1.下载一个MOOS模板文件2.打开MOOS模板文件总结 六、A Simple E

weixin_44151170的博客 2534

【OpenSearch】从零到一:手把手搭建OpenSearch与Dashboard可视化平台

本文提供了一份详细的OpenSearch与Dashboard可视化平台从零搭建指南。内容涵盖环境准备、系统调优、核心服务安装配置、Dashboard部署与汉化,以及生产环境安全加固建议,帮助用户快速构建一个功能完整的搜索与分析平台。

devops8pract的博客 617
上一篇: ETL -- SDE AND SIL
下一篇: 启动WebLogic时找不到JRE该怎么办(如果在WebLogic 上更改JDK)
Seaee
博客等级 码龄17年 7粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值