赛迪网 > IT技术 Linux > 企业应用
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

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

发布时间:2008.03.05 06:39     来源:赛迪网    作者:korn

1. 用以下命令查看系统是否安装了sendmail:

[root@mail /root]# rpm –qa |grep sendmail

sendmail-8.11.0-8

2. 卸载sendmail:

[root@mail /root]# rpm -e sendmail –nodeps

3. 用以下命令杀死运行中的sendmail进程:

[root@mail /root]# killall sendmail

如果系统提示:

sendmail: no process killed

则说明当前系统中没有sendmail进程。

4. 安装postfix:

[root@mail /root]# rpm -ivh postfix-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 |grep cyurs

如果您看到以下提示,则说明已经安装了cyrus-sasl

[root@test bye2000]# rpm -qa |grep sasl

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 [编辑后,只修改蓝色部分就可以了]

即:修改用户的Home directory和Shell 参照 /etc/passwd文件

8.编辑postfix的主要配置文件/etc/postfix/main.cf,根据需求只需修改以下几个参数:

1)mydomain

指明你的域名,在这里我们指定:

mydomain = xx.com

2)myorigin

myorigin参数指明发件人所在的域名。如果你的用户的邮件地址为user@domain.com,则该参数指定@后面的域名。在这里我们指定:

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_destination reject

broken_sasl_auth_clients = yes

smtpd_sasl_security_options = noanonymous

说明如下:

smtpd_sasl_auth_enable:告诉SMTP客户,该SMTP服务器需要进行用户认证。

smtpd_recipient_restrictions = permit_sasl_authenticated

permit_auth_destination reject

仅仅中继通过SMTP认证的客户端邮件,以及接收本postfix为最后一站的邮件。

broken_sasl_auth_clients = yes

有一些Microsoft 的SMTP客户端,比如Outlook Express 4.X采用的是非标准的SMTP认证协议,将该选项设置为yes可以解决这类不兼容问题。

smtpd_sasl_security_options = noanonymous

控制本地SMTP认证所采用的机制,这里是允许任何非匿名认证方法。

9.配置SASL

进入/usr/lib/sasl/目录,用touch新建这样一个文件:

[root@test sasl]# touch smtpd.conf

在该文件中加入以下内容:

[root@test sasl]# more smtpd.conf

pwcheck_method:pam

也就是指定通过PAM来进行用户认证。

10.配置PAM

进入/etc/pam.d/目录,用touch新建这样一个文件:

[root@test pam.d]# touch smtp

在该文件中加入如下内容:

[root@test pam.d]# more smtp

#%PAM-1.0

auth required /lib/security/pam_stack.so service=system-auth

account required /lib/security/pam_stack.so service=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]# chmod 640 /etc/shadow

然后再将postfix用户加入root组,采用以下命令:

[root@test /etc]# usermod -G root postfix

12.编辑postfix的主要配置文件/etc/postfix/master.cf

# ======================================== 
# service type private unpriv chroot wakeup maxproc command + args 
# (yes) (yes) (yes) (never) (100) 
# ======================================== 
smtp inet n - n - - smtpd

这里开始

#smtps inet n - n - - smtpd 
# -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes 
#submission inet n - n - - smtpd 
# -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes

这里结束

#628 inet n - n - - qmqpd

把我标的注释部分去掉即可。

13.配置pop3

RedHat7.0已经使用xinetd代替了以前的inetd,为了使pop3服务启动,我们编辑

/etc/xinetd.d/ipop3文件,将其中的disable = yes改为disable = no 以便启动pop3

服务。

为了使改动生效,执行以下命令:

/etc/rc.d/init.d/xinetd reload

14.启动postfix

执行以下命令启动postfix:

/etc/rc.d/init.d/postfix start

这样,一个支持SMTP认证的postfix邮件服务器就配好了。

(责任编辑:云子)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· Linux系统下蓝牙立体声配置A2DP profile (03-04) · Linux下中文的简繁转换zh-autoconverter (03-04)
· 新手学堂:Linux系统标点符号的部分编码 (03-04) · Linux系统下一块网卡配置多个Ip地址方法 (03-04)
· Linux 2.6内核中sysfs文件系统简单概述 (03-04) · Linux系统中如何修改某用户语言环境变量 (03-04)
· Linux服务器维护 统计连接数查看外部IP (03-04) · 在Linux系统下播放网页中的背景音乐技巧 (03-04)
· Sun:收购MySQL是软件史第一大并购案 (03-03) · Linux操作系统下生成临时文件的两个方法 (03-03)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 北京新规不能霸王硬上弓 网店牌照缓期执行
· 软件外包之变的新台阶: 提高全球交付能力
· ERP案例分析 SaaS带来冲击 IT服务商面临挑战
· 通方期货CRM解决方案 房地产行业CRM解决方案
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统