学习LDAP的过程

原创 2006年06月12日 22:08:00
    写这篇文章,是因为,最近学习了LDAP的相关知识,因为整个学习过程都与网络有关,大量的文献资料都是从网上下载下来的。现将,我学习LDAP的过程简要列出来,目的是想为那些还没有接触和掌握LDAP的人来说,能够节约大量的时间和精力。
1、  的英文的意思我是早就接触,只是了解,并不深入,所以,这次想多了解一些,于是从网上下载了大量的资料,从理论上了解LDAP是怎么回事,如什么是LDAP?什么是X.500?X.500与LDAP是什么关系?X.500与X.509?什么是DN等,大家在网上输入关键字LDAP可以搜索到很多的相关的资料。LDAP
2、  光说不练不行,还得找一找软件,我所知道的,提供LDAP目录服务的软件有IBM domino,SUN 提供的软件,以及开源的OPENLDAP,而我手头没有安有LINUX操作系统的机器,所以,软件最好能在windows server 2003上运行。安装要简单,配置最好也要简单。于是,我从网上下载了openldap for win32的安装包。
3、  安装过程很顺利,安装好后,用netstat –an 查看,LDAP服务的389端口处于正常的侦听状态,说明服务正常启动了。
4、  根据下载的文档,修改slapd.conf配置文件,将MY-DOMAIN改为自已设定的名称,如ydzy。样例文件如下:
database bdb
suffix             "dc=ydzy,dc=com"
rootdn            "cn=Manager,dc=ydzy,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    secret
# 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
# Indices to maintain
index       objectClass     eq
5、  然后,按照OPENLDAP快速帮助的说明,自已制作了根DN的ydzy.ldif文件。
dn: dc=ydzy,dc=com
objectclass: dcObject
objectclass: organization
o: Example Company
dc: ydzy
 
dn= cn=Manager,dc=ydzy,dc=com
objectclass: organizationalRole
cn: Manager
这里要说明一下,由于本人下载的LDAP文档,绝大部分都是针对LINUX环境,提供的添加条目到LDAP目录服务器的命令是LINUX环境下的,所以,照抄时,总是不对。在WINDOWS命令行状态,要用双引号来括住一些信息。如上面的添加条目信息的命令为:
Ldapadd –x –D “cn=Manager,dc=ydzy,dc=com” –w secret –f ydzy.ldif
6、  在设定了最基本的条目后,我试着从VB工程中,用LDAP的ACTIVEX控件来连接LDAP服务器,无论在connect函数中怎么设定,就是报协议错,为此,花费了我不少时间和精力,我是在VB6中,通过AXLDAP控件连接OPENLDAP服务器的。这当中,最大的问题,就是LDAP服务器的管理员用户名和口令是什么。尽管后来才知道,不是连接LDAP服务器的用户名与口令不正确,而是控件不支持我所安装的OPENLDAP服务器的版本所致。
7、  尽管,OEPNLDAP提供了命令行的ldapsearhc工具,但对初学者来讲,仍然,不形象直观,于是,上网搜索,从http://www.ldapadministrator.com/下载了windows版的ldap客户端软件。这真是个好东西,下载下来,安装好后,进行简单的设置,那个OPENLDAP里面的内容就展现在我面前了。友情提醒一下,最好在下载OPENLDAP的时侯,就下载相应的客户端工具,这对于学习和理解LDAP的相关知识很有好处的,本人就是通过这款软件才迅速解决了许多问题。例如,前面所说的用户名/口令的问题,因在该软件中,要连接LDAP服务器,必须提供相应的用户名和口令,于是,我就试着填入相应的用户名和口令,终于明白,slapd.conf文件中的rootdn后面的一长串就是管理员的用户名,而rootpw后的明文secret就是管理员的密码,所以,象命令中的-D “cn=Manager,dc=ydzy,dc=com” –w secret 就是通常的用户名和口令的格式。
8、  前面,我们刚学会添加根DN的方法,在实际应用中,需要添加各种各样的信息到LDAP中,而要添加信息,必须掌握写作LDIF文件的方法,具体的LDIF的格式要求,从下载的文档,大家可以看到。我根据一篇文档的介绍,将公司员工的邮件地址存入LDAP服务器,以便于在OUTLOOK等工具中可以查询。于是,我编写了以下格式的文件:
dn: cn=lxj,dc=ydzy,dc=com
objectclass: inetorgPerson
cn: lxj
cn: luoxiaojun
sn: luo
mail: lxj@192.1.3.211
 
dn: cn=lxr,dc=ydzy,dc=com
objectclass: inetorgPerson
cn: lxr
cn: lixinyue
sn: li
mail: lxr@192.1.3.211
就是向目录服务器,添加两个条目。
然后,就用ldapadd 命令向目录服务器加,始终报语法错误,这是怎么回事呢?左看右看,这时,我通过LDAP客户端软件,查看其中的模式,发现没有inetorgperson这个模式,于是我想到,是否,应在slapd.conf中将相关的模式文件包含进来,于是打开slapd.conf文件,发现,默认的配置文件中,只有一个core.schema包含了进来,而在openldap的安装文件夹下,可以看到schema文件夹,于是,将相应的inetorgperson模式文件添加到slapd.conf文件中。重启openldap服务器,再运行添加条目的命令,成功,通过LDAP客户端工具,可以看到,几条信息已经成功地添加到LDAP服务器中。
9、  我在网上,也看到一些文章讲LDAP应用面变窄的问题,其实,我们通过PKI,通过LDAP,我们发现,国外,似乎在追求一种基础架构,即公共,标准,安全。LDAP中能存储的在关系统数据库基本上都可以存储,但关系数据库无法做到作为一种公共设施,轻便,便于实施,所以,从追求标准化来看,LDAP将来将是信息基础构件,就象家里用的灯泡一样,而不是应用越来越窄,相反,会得到很广的应用。比如,微软的activedirectory活动目录,不就是一个例证吗?
10、              通过X.500或LDAP的条目DN可以和X.509数字证书绑定在一起,便于用户的查询。这种应用是较好的一种组合。
11、              服务器提供了主从服务器的复制功能,确保了LDAP的稳定性和可靠性,实现起来也很容易。LDAP

(转)Openfire服务器配置全过程,使用LDAP~

转载自:http://hi.baidu.com/chunrix/item/f0246038a19dbc627d034b36 0.1 安装java [root@localhost ~]# rpm ...
  • jdzms23
  • jdzms23
  • 2014年02月28日 10:48
  • 3003

java实现LDAP 部门和用户的增删改查 实现过程

上个星期,公司给分了个任务,要用java开发LDAP和AD操作工具,我这之前可是听都没听过这个东西,没办法只能求助于万能的百度,看了好多网上相关的博客和心得,编写时也遇见不少问题,因为公司要求实现部门...

spring-ldap学习(二)

上一篇介绍了搭建ldap服务,通过GUI风格的ldapsoft ldap admin tool去连接ldap服务端以及介绍了spring-ldap的增删改查,本文将介绍spring data 式的风格...

Sun Directory Server/LDAP学习笔记(二)——API说明及代码样例

LDAP协议基础概念  1. 从用途上阐述LDAP,它是一个存储静态相关信息的服务,适合“一次记录多次读取”。常用LDAP服务存储的信息:  公司的物理设备信息(如打印机,它的IP地址、存...

LDAP学习——(2)OpenLdap安装

一、OpenLdap是什么 OpenLDAP是轻型目录访问协议(Lightweight Directory Access Protocol,LDAP)的自由和开源的实现,在其OpenLDAP...

Java操作AD域LDAP操作学习日志

最近本人在公司接到了java操作AD域的需求,

Linux学习笔记23 --LDAP网络用户账户

Ⅱ 8.LDAP网络用户账户 #一.LDAP是什么# ldap目录服务认证,和windows活动目录类似,就是记录数据的一种方式 #二.LDAP客户端所须...
  • HnSoi
  • HnSoi
  • 2017年05月03日 11:58
  • 140

LDAP学习

很多人虽然会使用dsadd等命令添加用户,但是dsadd的命令说明里面并没有涉及到dc,cn,ou的含义,很多人都不明白,这里是微软的技术支持人员的回信,希望对大家有帮助。 CN, OU, DC 都是...

Joomla 学习笔记----LDAP插件支持

Joomla 学习笔记----LDAP插件支持 PHP编译安装支持 我所用的Centos 6.4 搭建环境。 在内网搭建joomla 安装LDAP验证插件需要PDP 支持LDAP ...

LDAP学习笔记

LDAP协议         目录是一组具有类似属性、以一定逻辑和层次组合的信息。常见的例子是通讯簿,由以字母顺序排列的名字、地址和电话号码组成。 目录服务是一种在分布式环境中发现目标的方法。目录具有...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:学习LDAP的过程
举报原因:
原因补充:

(最多只允许输入30个字)