| solaris8 x86上:终于实现smtp认证!搞定sendmail+sasl+qpopper |
荐 |
| solaris8 x86上:终于实现smtp认证!搞定sendmail+sasl+qpopper |
|
| |
|
Solaris8中带SMTP认证的sendmail配置 使用的软件: Solaris 8 x86 Sendmail-8.12.6 cyrus-sasl-1.5.28
一、准备工作 1.首先要下载sasl库,该函数库提供了安全认证所需函数,下载地址是(ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/ ),版本1.5.28,注意2.X 版本无法与sendmail结合,因为API还未做修改. 2.下载sendmail(http://www.sendmail.org),版本在8.10.0以上的sendmail才支持SMTP认证功能。 3.注意选择客户端电子邮件软件。并不是所有的客户端电子邮件软件都支持SMTP认证功能,几种常见的版本要求是这样的:Netscape Messenger 的版本要4.6以上、Outlook和Outlook Express要5.0版本以上、Eudora pro的版本要在4.3以上、Foxmail 的版本要在4.0以上,每一种软件的认证方法是不一样的,编译sasl库的时候和配置sendmail略有不同。这里就大家最常见的Outlook Express 5.0和Foxmail的设置方法介绍如下。 二、安装sasl库 1.解压cyrus-sasl-1.5.28.tar.gz到你选定的目录gunzip cyrus-sasl-1.5.28.tar.gz tar xvf cyrus-sasl-1.5.28.tar 2.安装sasl cd cyrus-sasl-1.5.28 ./configure --enable-login --with-pwcheck --disable-gssapi --disable-digest --disable-cram --disable-krb4 --enable-plain #disable的那些solaris不支持的 make make install 3.说明: Outlook Expresss使用LOGIN的认证方法,sasl库缺省并不支持这种方式,所以要在生成配置文件时特别加入,另外,Outlook的口令验证方式也不是缺省的方式,所以也需要加入--with-pwcheck的选项。 4.新建目录/var/pwcheck mkdir /var/pwcheck 此目录供pwcheck命令使用,该命令是一个后台程序,负责检查用户的输入口令, 以root权限使用shadow口令文件。 5.在/usr/lib/sasl目录下建立文件Sendmail.conf,加入如下一行: pwcheck_method:pwcheck 如果该文件已经存在,直接修改即可。 到此,sasl库函数的安装就完成了。
三、编译和配置sendmail 1.解压sendmail软件到你希望的目录,进入sendmail-8.12.6目录。按如下步骤操作: gzip sendmail.8.12.6.tar.gz tar -xvf sendmail.8.12.6.tar cd sendmail-8.12.6 2.进入devtools/Site/目录并创建site.config.m4文件 cd devtools/Site/ vi site.config.m4 在该文件中加入如下两行文字,把SMTP认证功能编译到sendmail中: APPENDDEF(`confENVDEF',`-DSASL') APPENDDEF(`conf_sendmail_LIBS',`-lsasl') 以下两行来自www.sendmail.org上对sun solaris 8的说明 APPENDDEF(`confMAPDEF', `-DLDAPMAP') APPENDDEF(`confLIBS', `-lldap') 注意:行末没有空格,逗号前后没有空格。前后引号`'并不相同。 3. (可选)备份/etc/mail/sendmail.cf 和/usr/lib/sendmail的执行文件。 4. 回到sendmail-8.12.3目录,再进入sendmail目录,开始编译sendmail:(如果不是第一次编译,需要加入-c选项,sh Build -c清除以前的配置) sh Build 5. 进入sendmail-8.12.3目录下的 cf/cf/把与操作系统对应的.mc文件复制为sendmail.mc,这里选择solaris cd ../cf/cf/ cp generic-solaris.mc sendmail.mc 6. 编辑sendmail.mc,加入你需要的FEATURE. TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5')dnl define(`confAUTH_MECHANISMS', `LOGIN PLAIN DIGEST-MD5')dnl *dnl define(`confDEF_AUTH_INFO', `/etc/mail/auth/auth-info') FEATURE(`no_default_msa')dnl DAEMON_OPTIONS(`Port=25, Name=MTA')dnl DAEMON_OPTIONS(`Port=587,Name=MSA,M=Ea')dnl 注意:FEATURE要加在MAILER语句的前面。 说明: "TRUST_AUTH_MECH"的作用是使sendmail不管access文件中如何设置,都能relay那些通过LOGIN, PLAIN或DIGEST-MD5方式验证的邮件。 "confAUTH_MECHANISMS"的作用是确定系统的认证方式。 "confDEF_AUTH_INFO"的作用是当你的计算机作为客户机时, 向另外一台有smtp认证功能的主机进行认证,用户和密码存放在auth-info文件中,在这个例子中并不需要这个功能,所以注释掉了。 7. 生成sendmail.cf文件 sh Build sendmail.cf 8. 把sendmail.cf安装到/etc/mail/sendmail.cf,submit.cf安装到/etc/mail/submit.cf;可以使用复制的方法,更简单的方法是在cf/cf/下运行: sh Build install-cf 9. 由于sendmail安全的要求,需要建立以smmsp为名字的组和以smmsp为名字的用户, 具体参考sendmail/SECURITY文档: groupadd smmsp usradd -g smmsp smmsp 10. 回到sendmail-8.12.6目录,再进入sendmail目录,运行"sh Build install",完成最后的安装。或使用如下命令: Make;make install 11. 现在基本上可以了, 重新启动机器或sendmail后运行下面命令测试sendmail: telnet localhost 25 ehlo localhost 注意有没有以下的信息出现. 250-xxxxxxxx 250-xxxxxxx 250-AUTH LOGIN PLAIN 250-xxxxxx
可能会略有不同,不过你选定的认证方式AUTH LOGIN PLAIN一定要有的。如果显示没有问题,服务器端的配置你已经成功了。 如果没有出现上面的信息,请运行“sendmail -O loglevel=14 –bs”仔细检查问题所在。 12. 结束服务器端的配置之前,我们还要做一件事,运行pwcheck这个daemon程序,这样才能完成用户认证功能。“pwcheck &”该文件位于sasl的安装目录下,可将其复制到/usr/bin目录下。
四、Outlook Express 5.0 的配置 1.打开你的Outlook Express,修改你的账号属性,在服务器选项,选取我的smtp服务器需要认证选项,然后进入配置。 2.不要选取安全口令认证,sendmail并不支持这个选项。是选取使用pop3同样的口令还是选择另外输入用户和密码,这就看你的爱好和设置了,这不是关键。如果你在服务器上有一个真实账号,不妨选取使用同样的口令,如果没有账号,选用其他的用户口令同样可以。 Linux联盟收集整理
 |
频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。
| 原始作者:佚名 |
录入时间:2007-1-2 2:43:35 |
| 信息来源:不详 |
投稿信箱:itqoo@126.com |
|
|
 |
|
|
|
| 教程录入:itqoo 责任编辑:itqoo |
|
上一个教程: Solaris9_x86+Apache2+Mysql+PHP
下一个教程: Unix中赋予用户特殊权限 |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |