当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > Linux系统邮件服务器的搭建过程解析

Linux服务器
Linux上双网卡绑定方法(Suse9SP3)
Linux操作系统调优参数的意义
Linux下使用SSH客户端及其Sftp文件传送
教你恢复被误删除的Linux文件
SQL Server注入大全及防御
Linux无法解析域名的解决办法
Linux系统下安装和配置MyEclipse的方法
Ubuntu下VirtualBox 1.4.0设置文件共享
Windows与Linux系统共享StarDict字典文件
修改Linux下相关的登陆信息
Windows通过SecureCRT远程登录Linux主机
Linux操作系统如何修改SWAP交换区的大小
Linux操作系统下为Apache目录添加密码
Linux时间设置与同步(NTP)
Linux内核补丁AMD旁路转换缓冲(TLB)错误
Linux架设DHCP服务器的方法
Fedora 8下Apache配置与管理
Linux操作系统下用单网卡捆绑双IP的方法
Ubuntu Linux系统环境变量配置文件
SUSE Linux中将Tomcat作为Service运行

Linux服务器 中的 Linux系统邮件服务器的搭建过程解析


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 45 ::
收藏到网摘: n/a

1.用以下命令查看系统是否安装了sendmail:
 
[root@mail/root]#rpm–qa|grepsendmail
 
sendmail-8.11.0-8
 
2.卸载sendmail:
 
[root@mail/root]#rpm-esendmail–nodeps
 
3.用以下命令杀死运行中的sendmail进程:
 
[root@mail/root]#killallsendmail
 
如果系统提示:
 
sendmail:noprocesskilled
 
则说明当前系统中没有sendmail进程。
 
4.安装postfix:
 
[root@mail/root]#rpm-ivhpostfix-20010228release-2.i386.rpm
 
若已经安装,则此步可以省略。(注:安装时最好用rpm包,会自动创建postfix用户和postfix组)
 
5.安装imap
 
rpm–ivh/mnt/cdrom/RedHat/RPMS/imap-4.7c2-12.rpm
 
imap使pop3有效,即打开110端口。(注:安装时最好用rpm包)
 
若已经安装,则此步可以省略。
 
6.检查系统中是否安装了cyrus-sasl
 
执行以下命令查看系统中是否安装了cyrus-sasl:
 
rpm–qa|grepcyurs
 
如果您看到以下提示,则说明已经安装了cyrus-sasl
 
[root@testbye2000]#rpm-qa|grepsasl
 
cyrus-sasl-devel-1.5.24-17
 
cyrus-sasl-1.5.24-17
 
否则,请用rpm–ivh命令先安装所需sasl-cyrus包。
 
7.修改postfix用户
 
同时应该让该用户不能登录到系统,也即不为该用户指定可执行的登录外壳程序和可用
 
的用户宿主目录。
 
编辑/etc/passwd文件中的相关条目如下所示:
 
postfix:x:89:89::/no/where:/no/shell[编辑后,只修改蓝色部分就可以了]
 
即:修改用户的Homedirectory和Shell参照/etc/passwd文件
 
8.编辑postfix的主要配置文件/etc/postfix/main.cf,根据需求只需修改以下几个参数:
 
1)mydomain
 
指明你的域名,在这里我们指定:
 
mydomain=xx.com
 
2)myorigin
 
myorigin参数指明发件人所在的域名。如果你的用户的邮件地址为[email protected],则该参数指定@后面的域名。在这里我们指定:
 
myorigin=$mydomain
 
3)inet_interfaces
 
inet_interfaces=all监听所有端口
 
4)mydestination
 
mydestination参数指定postfix接收邮件时收件人的域名,换句话说,也就是你的postfix
 
系统要接收什么样的邮件。通常与myorigin一样:
 
mydestination=$mydomain
 
5)mynetworks_style
 
设置网络类型,我们指定:
 
mynetworks_style=subnet
 
6)ynetworks
 
定义可以使用的此smtp服务器发信的客户ip地址,因为公司的ip范围已知,所以我们
 
指定:
 
mynetworks=192.168.1.0/24
 
注:此项可根据情况而定,主要是指定ip范围,假如公司的ip划分是按照网段来的,例如:10.10.1.0~10.10.1.9,10.10.3.0~10.10.3.9等等更细。根据需要,该项可以不设置。
 
7)SMTP的配置
 
为了告诉postfix采用sasl来进行SMTP的用户认证,我们必须在/etc/postfix/main.cf文件的最后添加以下几行:
 
smtpd_sasl_auth_enable=yes
 
smtpd_recipient_restrictions=permit_sasl_authenticated
 
permit_auth_destinationreject
 
broken_sasl_auth_clients=yes
 
smtpd_sasl_security_options=noanonymous
 
说明如下:
 
smtpd_sasl_auth_enable:告诉SMTP客户,该SMTP服务器需要进行用户认证。
 
smtpd_recipient_restrictions=permit_sasl_authenticated
 
permit_auth_destinationreject
 
仅仅中继通过SMTP认证的客户端邮件,以及接收本postfix为最后一站的邮件。
 
broken_sasl_auth_clients=yes
 
有一些Microsoft的SMTP客户端,比如OutlookExpress4.X采用的是非标准的SMTP认证协议,将该选项设置为yes可以解决这类不兼容问题。
 
smtpd_sasl_security_options=noanonymous
 
控制本地SMTP认证所采用的机制,这里是允许任何非匿名认证方法。
 
9.配置SASL
 
进入/usr/lib/sasl/目录,用touch新建这样一个文件:
 
[root@testsasl]#touchsmtpd.conf
 
在该文件中加入以下内容:
 
[root@testsasl]#moresmtpd.conf
 
pwcheck_method:pam
 
也就是指定通过PAM来进行用户认证。
 
10.配置PAM
 
进入/etc/pam.d/目录,用touch新建这样一个文件:
 
[[email protected]]#touchsmtp
 
在该文件中加入如下内容:
 
[[email protected]]#moresmtp
 
#%PAM-1.0
 
authrequired/lib/security/pam_stack.soservice=system-auth
 
accountrequired/lib/security/pam_stack.soservice=system-auth
 
也即和/etc/pam.d/pop文件的内容是一致的。
 
11.修改/etc/shadow文件权限
 
因为PAM最终要去读取/etc/shadow文件的内容来进行用户认证,但是/etc/shadow文件
 
权限是设置为只有root用户可以读写,而我们的postfix是运行在postfix用户权限之下,所以我们要合理的设置/etc/shadow文件权限,以便让pam可以读取其内容。
 
执行以下命令,让root组也可以读取shadow:
 
[root@test/etc]#chmod640/etc/shadow
 
然后再将postfix用户加入root组,采用以下命令:
 
[root@test/etc]#usermod-Grootpostfix
 
12.编辑postfix的主要配置文件/etc/postfix/master.cf
 
#========================================
#servicetypeprivateunprivchrootwakeupmaxproccommand+args
#(yes)(yes)(yes)(never)(100)
#========================================
smtpinetn-n--smtpd
 
这里开始
 

#smtpsinetn-n--smtpd
#-osmtpd_tls_wrappermode=yes-osmtpd_sasl_auth_enable=yes
#submissioninetn-n--smtpd
#-osmtpd_enforce_tls=yes-osmtpd_sasl_auth_enable=yes

 
这里结束
 
#628inetn-n--qmqpd
 
把我标的注释部分去掉即可。
 
13.配置pop3
 
RedHat7.0已经使用xinetd代替了以前的inetd,为了使pop3服务启动,我们编辑
 
/etc/xinetd.d/ipop3文件,将其中的disable=yes改为disable=no以便启动pop3
 
服务。
 
为了使改动生效,执行以下命令:
 
/etc/rc.d/init.d/xinetdreload
 
14.启动postfix
 
执行以下命令启动postfix:
 
/etc/rc.d/init.d/postfixstart
 
这样,一个支持SMTP认证的postfix邮件服务器就配好了。