`
ShellyLi
  • 浏览: 112100 次
  • 性别: Icon_minigender_2
  • 来自: 山东
社区版块
存档分类
最新评论

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

阅读更多
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参数指明发件人所在的域名。如果你的用户的邮件地址为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_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新建这样一个文件:
 
[root@testpam.d]#touchsmtp
 
在该文件中加入如下内容:
 
[root@testpam.d]#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邮件服务器就配好了。
分享到:
评论

相关推荐

    详解Linux搭建DNS服务器

    即域名系统,其作用就是将我们经常使用的“网址”解析为IP地址 联机分布式数据库系统,DNS大多数名字在本地解析,仅少量需要在网上通讯,所以效率高 2.DNS相关概念 DNS利用树形目录结构,将主机名的管理分配给不同的...

    详解阿里云CentOS Linux服务器上用postfix搭建邮件服务器

    如果用的是阿里云入门级Linux服务器,有一块20G的数据盘未挂载,需要格式化并挂载(假设这里挂载的目录是/data)。 二、配置postfix postfix是CentOS默认安装的邮件服务器软件。以下配置示例假设要配置的域名是...

    搭建一个安全的Linux服务器详细教程

    本篇文档详细讲解了在Linux系统下,如何搭建一个安全的Linux服务器的详细过程,过程里面有详细的代码解析,对于有需要搭建Linux服务器的朋友,这是一篇不容错过的文档资料。

    搭建linux系统DNS的具体步骤实例

    搭建linux系统DNS的实例,通过一台RHEL5.3架设域名服务器可以完成内网所有区域的正/反向解析

    在Linux平台上搭建DNS服务器(计算机网络课程设计)

    近年来,随着“传输控制协议/网际协议(TCP/IP)”套件的广泛使用,TCP...这种地址翻译的过程成为域名解析,而提供域名解析服务的网络主机,通常被成为DNS服务器。本次设计,主要是实现Linux下DNS服务器的构建与配置。

    十分钟搭建 linux 7 DNS服务器和WEB服务器

    linux版本为 centos 7 新建一台虚拟机作为DNS server,设置网卡模式为NAT,静态IP为192.168.89.142,网关为192.168.89.1,DNS为192.168.89.142。 关闭防火墙,关闭selinux,安装bind,bind-utils设置named.service...

    LINUX基础与服务器架构课程 大作业

    LINUX基础与服务器架构大作业 【需求说明】 搭建小型公司局域网服务器,并实现以下服务: 1.DHCP服务 2.Samba共享服务 3.ftp文件共享服务 4.Web网站服务 5.DNS域名解析服务 【环境搭建】(测试客户端系统版本不做...

    DNS服务器搭建指导文档

    DNS服务器架设.txt DNS解析时的文件查找过程.txt DNS解析过程.txt 与DNS解析有关的几个配置文件.txt 与DNS有关的查询命令.txt ...

    Samba服务器搭建

    Samba服务器搭建 Samba是一个工具套件,在Unix/Linux上实现SMB协议。SMB协议通常是被Windows系列用来实现磁盘和打印机共享。...nmbd提供名字解析、浏览服务,使主机(或工作站)能浏览Linux服务器。

    C++从零开始搭建一个web服务器

    Linux下基于C++的轻量级Web服务器; (1)使用 线程池 + 非阻塞socket + epoll(ET和LT均实现) + 事件处理(Reactor、Proactor) 的并发模型; (2)使用状态机解析HTTP请求报文,支持解析GET和POST请求; (3)访问...

    Linux上安装搭建Nginx服务器的详细步骤

    1.将nginx的压缩包nginx-1.8.0.tar.gz上传到Linux服务器 2.由于nginx是C语言开发的并且我们这里是通过编译nginx的源码来安装nginx,所以Linux上要安装C语言的编译环境gcc, 如果已经安装此步可以省略,否则执行命令: ...

    基于Linux的web服务器

    项目是在Linux下以C++开发语言搭建的Web服务器,服务器可以支持相对数量的客户端并发和及时响应,该项目支持用户注册、登录,访问图片和视频。1.利用IO多路复用技术Epoll与线程池实现Reactor高并发模型。 2.利用主从...

    Linux运维从入门到高级全套案例v3.rar

    目录 Linux入门篇 操作系统简介 1.2 Linux发展趋势 3 Linux系统安装 4 Linux学习技巧 2. Linux系统篇…… 2.1 Linux系统管理… ...5.6构建DNS域名解析服务器 5.7 MySQL主从高可用架构… 5.8Ls+ Keepalived负载均衡

    DNS域名解析服务器综合部署.doc..wps

    本实验一共需要5台主机,下面分析5台主机作为DNS服务器在Linux网络服务架构都发挥什么作用及相互之间的联系: 测试机Centos6-2发出DNS请求时(除了从服务器),假设先找子域服务器(已经设置DNS转发器指向主服务器...

    Linux高性能服务器编程

    本书系统介绍Linux平台高性能服务器搭建采用的相关机制,通过理论讲解与代码结合的方式深入地解析了多种高级网络编程技术。适合对linux网络有兴趣的,有一定网络编程基础且希望深入理解的入门者。

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    由国内著名技术社区联合推荐的2012年IT技术力作:《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》,即将上架发行,此书从Web应用、数据备份与恢复、网络存储应用、运维监控与性能优化、集群高级应用等...

    NB-IoT CoAP网关搭建教程

     服务器可以使用阿里云服务器,目前本CoAP端暂未开源,有Windows 32位、Windows 64位、Linux CentOS 6、CentOS 7的可执行文件,请暂时选择以上指定系统;  CoAP标准协议使用 UDP 5683 端口,当然您也可以自定义...

    基于linux的dns搭建

    DNS和BIND的关系:DNS是一种网络通信的名称。BIND是提供DNS服务的软件。DNS使用TCP和UDP的53号端口,一般情况下为了查询速度使用的是UDP53端口。正向解析就是输入域名解析...事实上,需要正反解析成对的仅有邮件服务器

    小白搭建服务器教程.docx

    在阿里云上搭建使用个人博客主要分为以下几个步骤: 1、购买阿里云ECS主机 2、购买域名 3、申请备案 4、环境配置 5、安装wordpress 6、域名解析 声明一下,本人对服务器端的知识不是很熟悉,但一心想做个自己的个人...

    服务器与系统维护.docx

    使用Linux系统搭建FTP服务器比使用Windows serv-u搭建ftp服务器的好处是( )。 A 免费 B 安全 C 方便 D 高效 正确答案: A 多选题 11. 如果服务器需要扩容内存,则在增加内存前需要考虑以下( )因素。 A 同一品牌...

Global site tag (gtag.js) - Google Analytics