OpenLDAP的安装测试及管理

简介:
LDAP(轻量级目录服务访问协议,Lightweight Directory Access Protocol)基于X.500标准,支持TCP/IP,使用简单方便。现在越来越多的网络应用系统都支持LDAP。  
   目录是一个为查询、浏览和搜索而优化的专业分布式数据库,它成树状结构组织数据,就好象Linux/Unix系统中的文件目录一样。目录数据库和关系数据库不同,它有优异的读性能,但写性能差,并且没有事务处理、回滚等复杂功能,不适于存储修改频繁的数据。所以目录天生是用来查询的,就好象它的名字一样。目录服务是由目录数据库和一套访问协议组成的系统。类似以下的信息适合储存在目录中:  企业员工和企业客户之类人员信息;公用证书和安全密钥;邮件地址、网址、IP等电脑信息;电脑配置信息。
   而且在我们的日常生活中,很多的应用都是基于LDAP的,比如Microsoft服务器的AD管理以及IBM的邮件Lotus都是基于LDAP的,并且Linux下的Postfix也可以设计成支持LDAP的形式,这篇文单权当是入门之用吧.以前有试过做基于Mysql的Postfix邮件系统(  [url]http://waringid.blog.51cto.com/65148/58580[/url]),也打算用LDAP来实现,我会把我的安装经历整理出来的.
支持软件:
安装OpenLDAP的相关支持软件是Berkeley  DB,有了它就可以进行了,当然,如果你要求Sasl的支持的话那cyrus-sasl这个支持包也是少不了的.不过这个软件包一般系统中会自带,而且OpenLDAP在编译时默认会加入此功能支持.这些软件的下载地址可以参考我以前写过的一篇文章(  [url]http://waringid.blog.51cto.com/65148/58144[/url]),其中有列出下载地址.而OpenLDAP的下载地址则是:  [url]ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release[/url]
系统相关:
在Linux下不同版本的系统在设置上可能会有很小的差异,所以这里交待一下我的系统:RedHat AS  4,安装时所选的系统组件只有"开发工具",其它的所有软件包都没有选取.如果你是Linux新手,对装系统还有一些困难的话,请参考这篇文章([url]http://waringid.blog.51cto.com/65148/47655[/url]).
Image00000.jpg
Image00001.jpg

下载相关软件:
查询并卸载系统中原有的相关软件:
rpm -qa |grep ldap
rpm -e --nodeps 显示的组件
Image00014.jpg
安装BerkeleyDB:
tar zxvf db-4.5.20.tar.gz
cd db-4.5.20/build_unix
../dist/configure --prefix=/usr/local/BerkeleyDB
make
make install
echo "/usr/local/BerkeleyDB/lib" >> /etc/ld.so.conf
ldconfig -v
安装Cyrus-Sasl:
tar zxvf cyrus-sasl-2.1.21.tar.gz
cd cyrus-sasl-2.1.21
./configure --prefix=/usr/local/sasl --enable-cram --enable-plain \
--enable-digest --disable-anon --enable-krb4 --enable-ntlm
make
make install
echo "/usr/local/sasl/lib/" >> /etc/ld.so.conf
ldconfig -v
ln -sv /usr/local/sasl/include/sasl/* /usr/local/include/
ln -sv /usr/local/sasl/lib/* /usr/local/lib/
ln -sv /usr/local/sasl/lib/sasl2/* /usr/local/lib/
安装OpenLDAP:
gunzip -c openldap-2.4.9.tgz | tar xvfB -
cd openldap-2.4.9
env CPPFLAGS="-I/usr/local/BerkeleyDB/include" LDFLAGS="-L/usr/local/BerkeleyDB/lib" \
./configure --prefix=/usr/local/openldap --sysconfdir=/etc --enable-ldbm \
--enable-lmpasswd --enable-spasswd --enable-bdb --enable-ldap
make depend
make
make install
echo /usr/local/openldap/lib >> /etc/ld.so.conf
ldconfig -v
配置LADP:
LDAP的配置中,我们要实现的功能如图所示.需要增加一个用户"Ben".
ldap.jpg
生成LDAP管理密码:
/usr/local/openldap/sbin/slappasswd -h {md5}
{MD5}X03MO1qnZdYdgyfeuILPmQ==##此密码是LDAP管理密码,和系统密码无关
增加相关查询记录:
echo "127.0.0.1     ldap.test.com" >> /etc/hosts
echo "127.0.0.1     ldap-master.test.com" >> /etc/hosts
设置slapd.conf文件:
vi /etc/openldap/slapd.conf         
include /etc/openldap/schema/core.schema         
include /etc/openldap/schema/cosine.schema         
include /etc/openldap/schema/inetorgperson.schema         
include /etc/openldap/schema/nis.schema         
pidfile /var/run/openldap/slapd.pid         
argsfile /var/run/openldap/slapd.args         
database bdb         
suffix "dc=test,dc=com"         
rootdn "cn=Manager,dc=test,dc=com"         
rootpw {MD5}X03MO1qnZdYdgyfeuILPmQ==         
directory /var/lib/ldap
设置ldap.conf文件:
vi /etc/openldap/ldap.conf
HOST 127.0.0.1
BASE dc=test,dc=com
URI ldap://ldap.test.comldap://ldap-master.test.com:389
SIZELIMIT 12
TIMELIMIT 15
DEREF nerver
启动LDAP:
/usr/local/openldap/libexec/slapd
增加用户资料:
vi test.ldif
#root node ##建立DN
dn:dc=test,dc=com
dc:test
objectclass:dcObject
objectclass:organizationalUnit
ou:test Dot com
#login top ##建立RDN
dn:ou=login,dc=test,dc=com
ou:login
objectclass:organizationalUnit
#user,uid,password
dn:ou=user,ou=login,dc=test,dc=com
ou:user
objectclass:organizationalUnit
#group
dn:ou=group,ou=login,dc=test,dc=com
ou:group
objectclass:organizationalUnit
#company organization top
dn:ou=company,dc=test,dc=com
ou:company
objectclass:organizationalUnit
#for company organization(unit)
dn:ou=unit,ou=company,dc=test,dc=com
ou:unit
objectclass:organizationalUnit
#human resource(under unit)
dn:ou=hr,ou=unit,ou=company,dc=test,dc=com
ou:hr
objectclass:organizationalUnit
#MIS(under unit)
dn:ou=mis,ou=unit,ou=company,dc=test,dc=com
ou:mis
objectclass:organizationalUnit
#Editorial(under unit)
dn:ou=editorial,ou=unit,ou=company,dc=test,dc=com
ou:editorial
objectclass:organizationalUnit
vi user.ldif ##建立用户数据#User-Ben Chan
dn:cn=ben,ou=editorial,ou=unit,ou=company,dc=test,dc=com
cn:ben
sn:chan
objectclass:organizationalUnit
givenName:ben
mail:ming@test.com
telephoneNumber:1234678
mobile:98765432
postalAddress:dongguan
postalCode:86
ou:editorial
o:test Corp
labeledURL:[url]http://waringid.blog.51cto.com[/url]
title:Editor
postalCode: 区号
ou:部门
o:机构
title:职位
解决中文符号问题:
dos2unix user.ldif
iconv -f gb2312 -t UTF-8 -o user.ldif.utf8 user.ldif
file user.ldif.utf8
ldapmodify -D "cn=Manager,dc=test,dc=com" -w secret -x -a -f user.ldif.utf8
测试:
ldapsearch -x -b "ou=unit,ou=company,dc=test,dc=com"
通过web方式管理LADP:
以命令的方式来管理LDAP是最快最直接的方法,但是需要用户有一定的Linux管理能力及对LDAP结构深入的理解.还有一种方式就是通过WEB的方式进行管理,这种方式和phpmyadmin管理mysql差不多,用它则是最方便讯速了.下载地址为:  [url]http://sourceforge.net/project/showfiles.php?group_id=61828[/url].它的配置方法和phpmyadmin的配置方法差不多,这里就不过多描述了,参考以前的文件应可以自行设置(  [url]http://waringid.blog.51cto.com/65148/58210[/url]),需要注意的是要将配置文件从config目录中copy到它的上一级目录,然后需要设置以下一些地方:
$ldapservers->SetValue($i,'server','auth_type','session'); $ldapservers->SetValue($i,'login','dn','cn=Manager,dc=test.com'); $ldapservers->SetValue($i,'login','pass','');
Image00015.jpg
Image00016.jpg
Image00017.jpg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268960.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式之模版方法模式的钩子方法

public abstract class SoyaMilk {//模版方法 可以做成finaL,不让子类去覆盖final void make(){select();if(customerWantCondiments()){addCondiments();}soak();beat();}void select(){System.out.println("第一步,请选择好的新鲜黄豆");}/…

利用福禄克铜缆测试仪测试铜缆的插入损耗

由于插入损耗发生在任何类型的传输中,因此它也是铜缆布线系统中的一个性能参数。与光纤相比,铜缆布线系统的插入损耗要大得多。另一个关键区别是,铜缆上的信号损耗随着信号频率的变化而变化,对于更高频率的信号,铜缆链…

福禄克Fluke Pro3000 音频发生器和探头

虽然按照ANSI/TIA-606-B管理标准贴标签被认为是好做法,但让我们面对现实:标签并不总是出现,或者有时它们根本看不到您需要它们的地方。随着时间的推移,电信机房或数据中心的布线链路也可能已重新配置。当你需要追踪一根电缆或者在…

判定2022年是否闰年c语言_C语言接本真题分享19年(2)

点击蓝字 关注我们C语言河北省 2019 年普通高校专科接本科教育选拔考试计算机科学与技术/软件工程/网络工程/物联网工程专业试卷 AC 语言程序设计(满分 150 分)第二部分|二、程序阅读题(本大题共 5 小题,每小题 6 分,共 30 分。请将程序的运行结果填写在…

福禄克网络TIA识别MPTL连接的操作方法

如果您熟悉水平电缆在一端终止于RJ-45插头直接连接到设备的部署,那么您就熟悉现在所称的模块化插头终止链路或MPTL(即使并非总是以这种方式提及)。 虽然先前在楼宇自动化和电子安全和安保标准中得到认可(以前称为“直接连接”&am…

新手攻略熔炉_【新手攻略】快速入门

进图之后找城主接取任务前期主要经济等级来源,3级去学技能用杀敌数找天使妹妹随机潜力值潜力值关系到每次升级的属性分配点潜力果实可以不改变星级重新随机分配点这一点小伙伴们要注意随机到高星的潜力可就可以留下来用达到3级找书店老板学习技能Q3级Q,5…

【Python图像特征的音乐序列生成】解析ABC格式的文件(修改版)

ABC格式,是一个音乐标准,ABC Plus Project最新的标准是2.x。 ABC格式的音乐长成这样: 1 X: 22 T:Abacus3 % Nottingham Music Database4 S:By Hugh Barwell, via Phil Rowe5 R: Jig6 M:6/87 K:G8 "G"g2g B^AB|d2d G3|"Em"…

BigDecimal类型一定不会失真吗?不一定。参数类型为double的构造方法的结果有一定的不可预知性,是有可能产生失真的。

BigDecimal类型一定不会失真吗? 不一定。 参数类型为double的构造方法的结果有一定的不可预知性,是有可能产生失真的。 public class Test1 {public static void main(String[] args) {BigDecimal b1 new BigDecimal(123.24);System.out.println(b1);B…

OTDR光纤测试仪:您的光纤终极故障排除工具

因此,您已经完成了光缆安装,现在开始使用光纤损耗测试仪(OLTS)对光缆设备进行认证——这是您进行Tier 1认证和使用OFP光纤测试仪OTDR进行测试所需的工具,最准确地测量损耗,以确保应用支持。 不幸的是&…

三点估算pmp_我本人是做项目经理的,我把考PMP也当成一个项目来规划

一. 辅导班的好处咨询过几位前辈后,我毫不犹豫的选择参加辅导班。说服自己的理由至少有以下三点:1. PMP指南对大部分人是陌生的新学科和新模式,普遍反映上面的话不是人的语言,参加培训班可以有专业的老师讲…

实验楼 1. k-近邻算法实现手写数字识别系统--《机器学习实战 》

首先看看一些关键词:K-NN算法,训练集,测试集,特征(空间),标签 举实验楼中的样例,通俗的讲讲K-NN算法:电影有两个分类(标签)-动作片-爱情片。两个特…

DateUtils.paraseDate(String sDate,String[] parasePatterns);转换时间不对,pattern数组顺序

今天偶然用到字符串到时间的转换,使用的是org.apache.commons.lang.time.DateUtils.paraseDate(String sDate,String[] parasePatterns); String[] parsePatterns {"yyyy-MM", "yyyy年MM月", "yyyy/MM", "yyyyMM","…

光纤测试仪为什么使用单芯法为光纤损耗测量

与TIA和ISO一样,福禄克网络提倡使用单芯法为光纤损耗测量设置参考。单芯线方法是将发射线连接到光源,另一端连接到功率计。然后设置一个参考(测量的功率定义为0 dB)。接下来,将发射线从功率计上断开,但不要…

抖音高贵气质的签名_抖音励志霸气十足的个性签名,有气质有内涵,很有格调!...

一、Whenyoulikeaperson,theworldisaloveletter.你喜欢一个人时,世界都是一封情书。二、"Time"totakeadvantageofmenottopayattentionto,thepeopleallchanged时光趁我不注意把所有人都换了模样三、Yourgoodheartshouldnevergetusedtopeoplewhodontknowgoo…

利用福禄克网线/光纤测试仪规范测试BICSI标准

那么如何测试HDBaseT呢? BICSI冬季会议上有多场研讨会和演讲,包括HDBaseT联盟关于HDBaseT安装的会前研讨会和Belden周三关于HDBaseT与IP AV的演讲,你可以想象HDBaseT在一些与会者的脑海中。 HDBaseT通过高达100米的普通铜缆传输未压缩的高清…

临汾移动搜索引擎推广_竞价信息流移动搜索推广分析!

“搜索推广”通常被我们叫做”竞价广告“或”SEM“,那么”移动搜索推广”就是指企业在移动搜索引擎中的竞价推广方式,虽然中国有很多搜索引擎,但在6亿多移动搜索用户中,60%以上的用户还是习惯使用百度搜索,人多的地方就会有广告&a…

ThreadLocal 中的ThreadLocalMap

ThreadLocal 中的ThreadLocalMap

jquery关于多个显示隐藏

今天做了一个关于多个栏目的隐藏与显示&#xff0c;内容为初始化显示6个栏目&#xff0c;点击按钮显示所有的栏目&#xff0c;在次点击隐藏出现的栏目 <div class"ftlt_z_navigation acer"> <div class"ftlt_padding"> <!--民生--> <…