分享
 
 
 

Qmail+LDAP安装配置实例

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

万月亮:yueliang.wan@longshine.com

许 霆:ting.xu@longshine.com

SMTP 访问控制

允许本地主机通过SMTP发信:

echo '127.:allow,RELAYCLIENT=""' >>/etc/tcp.smtp

qmailctl cdb

停止已经安装的MTA

如果MTA 是Sendmail,应该使用下面命令中的一个停止sendmail 工作:

/etc/init.d/sendmail stop

/sbin/init.d/sendmail stop

/etc/rc.d/init.d/sendmail stop

或者下面命令停止

kill PID-of-sendmail

通过下面命令卸装Sendmail :

rpm -e --nodeps sendmail

最后,使用qmail版本的sendmail代替系统/usr/lib/sendmail的sendmail:

mv /usr/lib/sendmail /usr/lib/sendmail.old # ignore errors

mv /usr/sbin/sendmail /usr/sbin/sendmail.old # ignore errors

chmod 0 /usr/lib/sendmail.old /usr/sbin/sendmail.old # ignore errors

ln -s /var/qmail/bin/sendmail /usr/lib

ln -s /var/qmail/bin/sendmail /usr/sbin

注: 生成'sendmail链接是重要的,因为有许多应用涉及发mail。

最后一步产生系统别名(aliases)

echo alias > /var/qmail/alias/.qmail-root

echo alias > /var/qmail/alias/.qmail-postmaster

ln -s .qmail-postmaster /var/qmail/alias/.qmail-mailer-daemon

chmod 644 /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-postmaster

启动qmail

qmailctl start

添加pop3服务

生成 /var/qmail/supervise/qmail-pop3d/run 脚本包含下面内容:

#!/bin/sh

exec /usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup

longshine.com /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1

生成/var/qmail/supervise/qmail-pop3d/log/run 脚本包含下面内容:

#!/bin/sh

exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t

/var/log/qmail/pop3d

建立log目录使得脚本可以执行且将此服务链接到/service:

chmod +t /var/qmail/supervise/qmail-pop3d

mkdir /var/log/qmail/pop3d

chown qmaill /var/log/qmail/pop3d

chmod 755 /var/qmail/supervise/qmail-pop3d/run

chmod 755 /var/qmail/supervise/qmail-pop3d/log/run

ln -s /var/qmail/supervise/qmail-pop3d /service

在qmailctl脚本中添加下面内容:

在qmailctl'的 "start" 部分:

if svok /service/qmail-pop3d ; then

svc -u /service/qmail-pop3d

else

echo qmail-pop3d service not running

fi

在qmailctl'的 "stop" 部分:

echo " qmail-pop3d"

svc -d /service/qmail-pop3d

在qmailctl'的 "stat" 部分:

svstat /service/qmail-pop3d

svstat /service/qmail-pop3d/log

在qmailctl'的 "pause" 部分:

echo "Pausing qmail-pop3d"

svc -p /service/qmail-pop3d

在qmailctl'的 "cont" 部分:

echo "Continuing qmail-pop3d"

svc -c /service/qmail-pop3d

在qmailctl'的 "restart" 部分:

echo "* Restarting qmail-pop3d."

svc -t /service/qmail-pop3d

在/etc/hosts脚本中添加

172.18.6.111 longshine.com

qmail的测试

测试安装:

可以参照TEST.deliver 和 TEST.receive 文档测试其工作是否正常。注意日志是由 multilog 而不是splogger生成的。

测试Pop3和SMTP服务

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

本地测试:

#run_mail

#netstat -na | grep 25

#netstat -na | grep 110

#telnet localhost 110

user test

pass test

list

retr 1

远程测试:

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

为qmail增加LDAP支持

qmail可以通过LDAP来代替传统的/etc/passwd方式的Pop3认证,以便提高认证效率和有效的支持大容量的邮件客户,为了使qmail获得LDAP支持,需要在qmail的基础上增加具备LDAP认证的Patch包,最好使用qmail新的压缩包,具体操作使用如下命令:

#rm -rf qmail-1.03

#zip -zxvf qmail-1.03.tar.gz

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

#cd qmail-1.03

#patch -p1 < ../ qmail-ldap-1.03-20010501.patch

在patch包打好之后,需要修改qmail的Makefile文件来配置相应的LDAP信息,具体如下(这里只说明必须修改的,其余的可选项请参考QLDAPINSTALL.TXT文档):

1) -LDAPFLAGS = -DCLEARTEXTPASSWORD

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

2) -LDAPLIBS =

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

LDAPLIBS=-L/usr/local/lib -L/usr/X11R6/lib/modules -lldap -llber -lldap_r -lpthread -lresolv

4)-SHADOWLIBS = -lcrypt -lshadow

-SHADOWOPTS = -DPW_SHADOW

配置使用的密码认证方式。

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

#make setup check

安装openldap

zip -zxvf openldap-2.07.tgz

cd openldap-2.07

./configure

make depend

make

make test

su root -c 'make install'

这样openldap安装完成

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

#cat ldapserver

172.18.6.111

#cat ldapbasedn

dc=longshine , dc=com

#cat ldapobjectclass

qmailUser

将qmail.schema拷贝到openldap的相应目录下面

cp /usr/local/src/qmail/qmail-1.03/qmail.schema /usr/local/etc/openldap/schema/.

编辑configuration 文件 /usr/local/etc/openldap/slapd.conf)

database ldbm

suffix "dc=longshine,dc=com"

rootdn "cn=Manager,dc= longshine ,dc= "

rootpw secret

directory /usr/local/var/openldap-ldbm

增加相应的shema文件

include /usr/local/etc/openldap/schema/cosine.schema

include /usr/local/etc/openldap/schema/nis.schema

include /usr/local/etc/openldap/schema/inetorgperson.schema

include /usr/local/etc/openldap/schema/qmail.schema

启动 SLAPD.

su root -c /usr/local/libexec/slapd

为了检测openldap是否运行和配置正确。可以执行ldapsearch命令进行检测。缺省的,ldapsearch 安装在/usr/local/bin/ldapsearch:

ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts

应该可以看见

dn:

namingContexts: dc=longshine,dc=com

增加目录的初始人口。

分为二步:

生成一个LDIF 文件

运行ldapadd

是编辑器生成一个LDIF 文件,包含如下内容:

dn: dc= ,dc=

objectclass: dcObject

objectclass: organization

o:

dc:

dn: cn=Manager,dc= ,dc=

objectclass: organizationalRole

cn: Manager

我的此文件Manager.ldif文件内容为dn: dc=longshine,dc=com,dc=cn

objectclass: dcObject

objectclass: organization

o: longshine

dc: longshine

dn: cn=Manager,dc=longshine,dc=com

objectclass: organizationalRole

cn: Manager

现在运行ldapadd程序

ldapadd -x -D "cn=Manager,dc=longshine,dc=com" -W -f /root/manager.ldif

如果要输入密码为secret。

增加qmail用户信息,生成test.ldif文件

dn: cn=testUser,dc=longshine,dc=com

cn: testUser

sn: testUser

objectClass: top

objectClass: person

objectClass: inetOrgPerson

objectClass: qmailUser

mail: test@longshine.com

mailHost: longshine.com

mailMessageStore: /home/test/Maildir/

mailQuota: 1000000S,100C

uid: test

userPassword: test

qmailUID: 508

qmailGID: 508

注qmailUID,qmailGID可以通过/etc/passwd文件查询到。使用下面命令进入

ldapadd -x -D "cn=Manager,dc=longshine,dc=com" -W -f /root/test.ldif

如果要输入密码为secret。

将/var/qmail/supervise/qmail-pop3d/run 脚本包含下面内容:

#!/bin/sh

exec /usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup

longshine.com /var/qmail/bin/auth_pop /var/qmail/bin/qmail-pop3d Maildir 2>&1

测试LDAP:

ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts

使用什么命令查看添加的时间是否正确。如果不正确可以使用

ldapdelete -x -D"cn=Manager,dc=longshine,dc=com" -w secret "cn=testUser,dc=longshine,dc=com"

删除,然后重新添加。

测试基于LDAP的Pop3认证

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

本地测试

具体请参考TEST.deliver 和 TEST.receive 的方法。

Pop3+SMTP测试

telnet localhost 25 和telnet localhost 110

测试工具

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

#/var/qmail/bin/qmail-ladplookup -m test@longshine.com

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

参考资料

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

QLDAPINSTALL (http://www.openldap.org/doc/admin/quickstart.html) qmail+LDAP安装与配置(http://www.chinabyte.com/builder/linux/linux_detail.shtm?id=1650&parid=1&dtype=1) X.D.Chen'

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有