王朝网络
分享
 
 
 

LDAP应用概述与qmail+LDAP安装配置

王朝other·作者佚名  2008-05-31
宽屏版  字体: |||超大  

1 概述

计算机网络经过长期的发展,不同的操作系统和应用程序以不同的格式在网络上存储了大

量的信息,一个网络管理员无法在一个集中的信息库中,以方便的方法管理网络信息和资

源。用户必须使用不同的应用程序获取不同的信息和资源,这大大增加了用户的负担,也

使许多信息难于共享,从而在一定程度上制约了网络的发展,因而需要一种新的技术,能

够以通用的格式和方式实现信息的存储和共享,实现网络的共享。

目录服务技术就是用于实现上述需求的。目录服务可以命名、描述和指定一个企业范围内

的用户和资源,从而简化通信与管理;它可以使用户通过简单的搜索查找资源及其他用

户;它可以帮助管理人员收集和控制散布与该机构的信息,并可以使他们通观地审视这些

信息。 目前基于目录服务的各种网上应用越来越多。特别是随着Intranet的崛起以及轻

型目录服务LDAP(Lightweight Directory Access Protocol)的开发,人们对其价值

的认识日趋明朗。

本文档详细描述了Unix中常用的邮件服务器qmail的安装和配置过程,以及qmail和LDAP

的整合,重点在于qmail的基本应用及其通过LDAP Server来进行Pop3认证的配置过程,

对于其它诸如邮件网关、邮件虚拟域、邮件列表、SMTP认证等不做叙述。本文档假定你对

qmail邮件服务器和OpenLDAP的LDAP Server有基本的了解,在各种软件包安装之前,请

认真阅读软件包附带的相关安装说明文档。

邮件服务器基于LDAP的应用扩展,是目前基于LDAP管理Internet信息的应用之一,此外

基于LDAP的WWW网关也是使用LDAP的一个方向,下图给出了这两种应用的总体结构:

2 安装前的准备

操作系统

RedHat Linux 6.2

所需软件包

1. qmail-1.03.tar.gz (http://www.qmail.org)

2. ucspi-tcp-0_88_tar.gz (http://cr.yp.to/ucspi-tcp.html)

3. checkpassword-0_90_tar.gz (http://cr.yp.to/checkpwd.html)

4. qmail-ldap-1_03-20010301_patch.gz (http://www.nrg4u.com/)

5. openldap-2_0_7.tgz (http://www.openldap.org)

主机IP地址和域名配置,在本例中为:

IP:192.168.0.117

DomainName :gloomy.openet.com.cn

(LDAP Server的RootDN为:dc=gloomy dc=openet dc=com dc=cn)

3 安装与配置

1. 卸载SendMail邮件系统

由于大多数Linux发行版本中都预装了SendMail邮件系统,所以在安装qmail 邮件服务器

前最好卸载SendMail邮件服务器,使用如下命令:

#netsysv (取消系统boot时启动SendMail)

#mv /usr/lib/sendmail /usr/lib/sendmail.bak

#mv /usr/sbin/sendmail /usr/sbin/sendmail.bak

#mv /usr/bin/newaliases /usr/bin/newaliases.bak

#mv /usr/bin/mailq /usr/bin/mailq.bak

2. 安装qmail软件包

a) 首先确定qmail的安装路径,若选默认安装的话,使用如下命令,否则需要修改qmail

软件包中相应的conf*文件:

#mkdir /var/qmail

b) 增加qmail所需要的组和用户,使用如下命令:

#groupadd nofiles

#useradd -g nofiles -d /var/qmail/alias alias

#useradd -g nofiles -d /var/qmail qmaild

#useradd -g nofiles -d /var/qmail qmaill

#useradd -g nofiles -d /var/qmail qmailp

#groupadd qmail

#useradd -g qmail -d /var/qmail qmailq

#useradd -g qmail -d /var/qmail qmailr

#useradd -g qmail -d /var/qmail qmails

c) 编译qmail源代码并安装,使用如下命令:

#tar zxvf qmail-1.03.tar.gz

#cd qmail-1.03

#make setup check

d) 建立相应的配置文件,使用如下命令:

#config-fast gloomy.openet.com.cn

#cd /var/qmail/alias

#touch .qmail-postmaster .qmail-mailer-daemon .qmail-root

#chmod 644 qmail*

e) 选择邮件的存储方式:

在qmail中,支持三种邮件存储方式,分别是典型的/var/spool/mail方式、传统的Unix

user/Mailbox方式和新的 user/Maildir方式,其中前两种方式为大多数的邮件客户端

所支持,但是它们均存在安全上的隐患,所以在这里使用了第三种方式,下面分别叙述三

种方式的建立方法:

/var/spool/mail 方式

#cp /var/qmail/boot/proc /var/qmail/rc

user/Mailbox 方式

#cp /var/qmail/boot/home /var/qmail/rc

user/Maildir 方式

1)#cp /var/qmail/boot/home /var/qmail/rc

2)建立相应的邮件用户,例如:#useradd test

#passwd test

3)使用qmail提供的工具建立Maildir,命令如下:

$ /var/qmail/bin/maildirmake Maildir

$ echo ./Maildir/ .qmail

(注意这里必须以用户权限建立邮箱)

4)修改 /var/qmail/rc 文件,把其中的/Mailbox 改为/Maildir/

5) 为了使root用户也能收发邮件,使用如下命令:

# su alias

$ cd

$ /var/qmail/bin/maildirmake Maildir

$ echo ./Maildir/ .qmail

f) 建立启动qmail的shell文件run_mail,其内容为:

#cat run_mail

csh -cf ‘/var/qmail/rc’ %26amp;

3. 测试qmail基本邮件系统

首先启动qmail邮件服务器,然后测试邮件的收发,使用如下命令:

#run_mail

#echo to : ReceiverName | /var/qmail/bin/qmail-inject

(其中 ReceiverName 为邮件接受者的ID,例如test)

在邮件发送后,可以查找是否收到邮件,分三种方式,依赖邮件的存储方式:

/var/spool/mail 方式

$cd /var/spool

$vi ReceiverName

或者用

$mail

user/Mailbox 方式

打开用户根目录下的Mailbox文件,看是否收到邮件

user/Maildir 方式

$cd Maildir

$ls new

(注意在以上测试时,如果发生错误,可以查看/var/log/maillog文件获得出错原因)

4. 添加Pop3和SMTP服务

可以使用inetd超级服务器或TcpServer来建立相应的Pop3和SMTP服务,为了支持大容量

的邮件用户,建议使用TcpServer来监听服务端口启动相应的服务,建立命令如下:

#tar zxvf ucspi-tcp-0_88_tar.gz

#cd ucspi-tcp-0.88

#make setup check

#tar zxvf checkpassword-0_90_tar.gz

#cd checkpassword-0.90

#make setup check

修改上面建立的run_mail文件,修改后的内容如下:

#cat run_mail

csh -cf '/var/qmail/rc' %26amp;

tcpserver –u 502 –g 501 -c 100 0 smtp /var/qmail/bin/qmail-smtpd %26amp;

tcpserver -c100 0 pop3 /var/qmail/bin/qmail-popup gloomy.openet.com.cn

/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir %26amp;

修改/var/qmail/control/rcpthosts文件,来增加SMTP接收邮件的域

例如:#cat /var/qmail/control/rcpthosts

gloomy.openet.com.cn

ldap,openet.com.cn

tbs.openet.com.cn

openet.com.cn

5. 测试Pop3和SMTP服务

首先启动qmail邮件服务器,然后测试,使用如下命令:

1) 本地测试

#run_mail

#netstat –na | grep 25

#netstat –na | grep 110

#telnet localhost 110

user test

pass test

list

retr 1

2) 远程测试

利用Windows下的图形邮件客户端(如 outlook、foxmail等)来测试邮件的收发,客户

端邮件帐号的建立请参考附带的帮助文档。

6. 为qmail增加LDAP支持

qmail可以通过LDAP来代替传统的/etc/passwd方式的Pop3认证,以便提高认证效率和有

效的支持大容量的邮件客户,为了使qmail获得LDAP支持,需要在qmail的基础上增加具

备LDAP认证的Patch包,具体操作使用如下命令:

#gunzip qmail-ldap-1_03-20010301_patch.gz

#cd qmail-1.03

#patch -p1

在patch包打好之后,需要修改qmail的Makefile文件来配置相应的LDAP信息,具体如下

(这里只说明必须修改的,其余的可选项请参考QLDAPINSTALL.TXT文档):

1) -LDAPFLAGS = -DCLEARTEXTPASSWORD

配置是否在LDAP目录中使用明文密码

2) -LDAPLIBS =

配置使用的LDAP接口库,在本例中为:

-LDAPLIBS = -L/root/LdapServer/lib -lldap –llber –lldap_r –lpthread

-lresolv

3) -LDAPINCLUDES =

配置使用的LDAP头文件,在本例中为:

-LDAPINCLUDES = -I/root/LdapServer/include

4)-SHADOWLIBS = -lcrypt –lshadow

-SHADOWOPTS = -DPW_SHADOW

配置使用的密码认证方式

在Makefile设置修改完毕后,重新编译qmail源文件,然后覆盖安装qmail,使用如下命

令:

#make setup check

7. 安装OpenLDAP

本例中采用了OpenLDAP的开放源代码LDAP Server,详细的管理请参考

(http://www.openldap.org)站点的文档以及《LDAP配置手册》,下面概述其安装配置

过程:

#tar zxvf openldap-2_0_7.tgz

#cd openldap-2.0.7

#./configure

#make depend

#make

#make test

#make install

修改OpenLDAP Server的配置文件,启动slapd服务器,具体如下:

#cd path to LDAP Server/

#vi etc/openldap/slapd.conf

主要修改slapd.conf文件中的如下部分,在本例中为:

#############################################

# ldbm database definitions

#############################################

database ldbm

suffix "dc=gloomy , dc=openet , dc=com , dc=cn"

rootdn "dc=gloomy , dc=openet , dc=com , dc=cn"

rootpw secret

index objectclass,mail,uid

index qmailUser

8. 配置qmail+LDAP

在LDAP Server安装测试完毕后,修改并建立相应的qmail配置文件,增加对LDAP

LookUp的支持,分为如下几步:

1) 在/var/qmail/control/下建立相应的LDAP支持文件:

#cat ldapserver

192.168.0.117

#cat ldapbasedn

dc=gloomy , dc=openet , dc=com , dc=cn

#cat ldapobjectclass

qmailUser

2) 为LDAP添加相应的支持qmail邮件用户的schema:

#cd qmail-1.03

#cp qmail.schema /root/LdapServer/etc/openldap/schema

修改slapd.conf文件,加入下面一行:

include /root/LdapServer/etc/openldap/schema/qmai.schema

3) 修改前面建立的run_mail启动脚本,修改后的内容如下:

#cat run_mail

csh -cf '/var/qmail/rc' %26amp;

tcpserver –u 502 –g 501 -c 100 0 smtp /var/qmail/bin/qmail-smtpd %26amp;

tcpserver -c100 0 pop3 /var/qmail/bin/qmail-popup gloomy.openet.com.cn

/var/qmail/bin/auth_pop /var/qmail/bin/qmail-pop3d Maildir %26amp;

9. 在LDAP DIT中增加qmail邮件用户目录

首先启动LDAP服务器,然后创建相应的*.ldif文件(有关LDIF文件的格式,请参考

RFC2849的描述),插入LDAP数据库中,具体的命令如下:

#/root/LdapServer/libexec/slapd

在本例中建立的的交换文件为mailer.ldif,其具体内容如下:

#cat mailer.ldif

dn: cn=testUser , dc=gloomy , dc=openet , dc=com , dc=cn

cn: testUser

sn: testUser

objectClass: top

objectClass: person

objectClass: inetOrgPerson

objectClass: qmailUser

mail: test@gloomy.openet.com.cn

mailHost: gloomy.openet.com.cn

mailMessageStore: /home/test/Maildir/

mailQuota: 1000000S,100C

uid: test

userPassword: test

插入qmail用户目录到LDAP的目录信息树中,使用如下命令:

#/root/LdapServer/bin/ldapadd –x –D”dc=gloomy,dc=openet,dc=com,dc=cn”

–W –f mailer.ldif

10. 测试基于LDAP的Pop3认证

在上述步骤完成后,从新测试qmail邮件系统的运行状况,主要从以下三个方面测试,具

体命令如下:

1) 本地测试

具体请参考上面小节3的方法

2) Pop3+SMTP测试

具体请参考上面小节5的方法

3) 测试工具

#/var/qmail/bin/qmail-ldaplookup –u test

#/var/qmail/bin/qmail-ladplookup –m test@gloomy.openet.com.cn

4 参考资料

1) Life with qmail (http://www.lifewithqmail.org/lwq.html)

2) Life with qmail-LDAP (http://www.lifewithqmail.org/ldap/)

3) QLDAPINSTALL (http://www.nrg4u.com/)

4) Open LDAP 2.0 Administrator’s Guide

(http://www.openldap.org/doc/admin/)

5) 《LDAP配置手册》

5 总结

LDAP使得过去杂乱无序的网络资源和信息管理呈现出一种树状的有序体系,不但使

Internet资源的管理和控制变得易于进行,而且同时在另外一方面也提高了各种信息和资

源的使用效率,LDAP用10%的代价实现了X.500 DAP 90%的功能,是目前Internet上越来

越广泛的应用之一,本文通过对qmail邮件服务器和LDAP整合应用的安装和配置的描述,

希望能够对掌握LDAP这个下一代因特网服务与应用的基础提供一定的帮助。

出自:http://www.linuxforum.net 一笑

,

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有