/ 中存储网

Postfix的安装配置

2014-07-13 20:12:26 来源:中存储网

postfix对使用资源的控制 通过特定的postfix配置参数,我们可以实现postfix...由于这段代码使用了mysql客户端库,所以我们必须安装mysql的开包。


一、postfix 安装配置Postfix的安装:

#netstat-nutlp|grep:25
#/etc/rc.d/init.d/sendmailstop
#chkconfigsendmailoff
#rpmivhpostfix-...rpm

二、postfix 安装配置Postfix服务的基本配置
主配置文件:/etc/postfix/main.cf
#vi/etc/postfix


1.设置运行postfix服务的邮件主机名,域名
myhostname=mail.linux-lab.cn
mydomain=linux-lab.cn
2.设置由本机寄出的邮件所使用的域名或主相名称
myorigin=$mydomain
3.设置postfix服务监听的网络接口
inet_interfaces=all
4.设置可接收邮件的主机名称或域名:
mydestination=$mydomain,$myhostname
5.设置可转发(Relay)哪些网络邮件.
mynetworks=192.168.0.0/24
6.设置可转发哪些网域的邮件
relay_domains=linux-lab.cn



三、SMTP认证的配置
目前,比较常用的SMTP认证机制是通过CyrusSASL包来实现的.
CyrusSASL是CyrusSimpleAuthenticationandSecurityLayer,它最大的功能是为应用程序提供了认证函数库.


1.Cyrus-SASL认证包的安装
[root@rhel4postfix]#rpm-qa|grepsasl
cyrus-sasl-md5-2.1.19-5.EL4
cyrus-sasl-devel-2.1.19-5.EL4
cyrus-sasl-2.1.19-5.EL4
cyrus-sasl-gssapi-2.1.19-5.EL4
cyrus-sasl-plain-2.1.19-5.EL4
cyrus-sasl-ntlm-2.1.19-5.EL4
cyrus-sasl-sql-2.1.19-5.EL4//我都装上啦.

2.Cyrus-SASLV2的密码验证机制.
[root@rhel4postfix]#saslauthd-v
saslauthd2.1.19
authenticationmechanisms:getpwentkerberos5pamrimapshadowldap
#vi/etc/sysconfig/saslauthd
MECH=shadow//确认采用的密码机制为shadow

3.Cyrus-SASLV2的认证功能.
#psaux|grepsaslauthd查看saslauthd进程,如果没有发现些进程,则要开启:
#/etc/rc.d/init.d/saslauthdstart
#chkconfigsaslauthdon
#/usr/sbin/testsaslauthd-unetseek-p'52netseek'
0:OK"Success."//表示认证起作用啦

4.设置Postfix启用SMTP认证:
#vi/etc/postfix/main.cf
我没有找到这部分的内容.

5.测试postfix是否启用STMP认证.

四,启动和停止postfix服务.
/etc/init.d/postfixstart,stop,restart,reload#chkconigpostfixon

五,POP和IMAP邮件服务的实现:
在RHELAS4中,dovecot和cyrus-imapd这两个软盘可以同时提供POP和IMAP
服务.


1.#rpm-qa|grepdovecot
dovecot-0.99.11-2.EL4.1
#vi/etc/dovecot.conf
protocols=pop3pop3s
pop3_listen=*
#/etc/rc.d/init.d/dovecotstart
#chkconfig--level345dovecoton
2.cyrus-imapd服务的安装:
[root@rhel4postfix]#rpm-qa|grepcyrus-imapd
cyrus-imapd-nntp-2.2.12-3.RHEL4.1
cyrus-imapd-utils-2.2.12-3.RHEL4.1
cyrus-imapd-devel-2.2.12-3.RHEL4.1
cyrus-imapd-murder-2.2.12-3.RHEL4.1
cyrus-imapd-2.2.12-3.RHEL4.1
cyrus-imapd服务的基本配置文件:
/etc/sysconfig/cyrus-imapd
/etc/cyrus.conf
/etc/imapd.conf
//这些配置文件基本设置好,只要启动cryus-imapd服务,就可以同时提供pop和imap服务。但是由于postfix默认并不支持cyrus-IMAP信息,因此为了使postfix与cyrus-imapd整合起来,必须在postfix的主配置文件/etc/postfix/main.cf中加入:
mailbox_transport=lmtp:unix:/var/lib/imap/socket/lmtp
#servicecyrus-imapdstart
#chkconfigcyrus-imapdon


注意:如果已经安装了dovecot服务,则应该先关掉dovecot服务及开机时自动启动,或者将dovecot服务
卸载掉,然后启动启动cyrus-imapd服务并设置为开机启动.

4.用户邮箱管理:
Cyrus-IMAP的一个优点就是他可以为每个用户创建一个信息,而且这种信箱可具有层次结构,默认情况
下,cyrus-imap的邮箱位于/var/spool/imap目录下,创建邮箱时,为每一个邮件信箱命名的格式:
信箱类型.名称[.文件夹名称[.文件夹名称]]....
eg:
用户netseek的主要邮件信箱(即收件箱)的名命为user.netseek,其中关键字user表示信息类型为用户
信息,netseek是linux系统的中的用户账号名。如果需要为用户netseek他建发件箱,垃圾箱,草稿箱
则可以:user.netseek.Send(发件箱),user.netseek.Trash(垃圾箱),user.netseek.Drafts(草稿箱)
创建和管理用户邮件信箱的具体方法:
1,为Cyrus-IMAP管理员账户cyrus设置密码:
[root@rhel4~]#passwdcyrus
Changingpasswordforusercyrus.
NewUNIXpassword:
RetypenewUNIXpassword:
passwd:allauthenticationtokensupdatedsuccessfully.

Cyrus-IMAP管理员账户:cyrus是安装cyrus-imapd服务自动创建的,在第一次为用户他建邮件信箱前,
必须为访账号设置一个密码,以便以后管理用户信息时验证用户身份.

2.使用cyradm管理工具为用户创建邮件信息:/usr/lib/cyrus-imapd目录中.
[root@rhel4~]#/usr/lib/cyrus-imapd/cyradm-ucyruslocalhost
IMAPPassword:
localhost.localdomain>createmailboxuser.netseek
localhost.localdomain>createmailboxuser.netseek.Send
localhost.localdomain>createmailboxuser.netseek.Trash
localhost.localdomain>createmailboxuser.netseek.Drafts
localhost.localdomain>setquotauser.netseek5120//(kb,5M)设置配额:
quota:5120
localhost.localdomain>listquotauser.netseek
STORAGE0/5120(0%)
localhost.localdomain>exit
[root@rhel4~]#su-lcyrus-c/usr/lib/cyrus-imapd/quota//命令下查看用户邮箱使用情况.
Quota%UsedUsedRoot
512000user.netseek

3.为用户邮件信箱设置权限:
Cyrus-IMAP管理员为用户创建一个邮箱时,只有该用户对该邮件信息具有完全控制权限:
Cyrus-IMAP中设置用户信箱权限的6种缩写形式:
权限缩写描述
none无任何权限
read允许读取信息的内容
post允许读取和向信箱中张贴信息(如发邮件)
append允许读取和向信箱中插入信息
write除写具有append权限外,还具有在信息中删除邮件的权限,但不具有变理信箱的权限
all具有所有的权限.

在创建了用户信息user.netseek后,想直接用deletemailbox命令后来删除该邮邮箱,即使是管理员cyrus
也无权限。要删除它,必须先用下面的命令为管理员cyrus自己授予完全的权限(all)
[root@rhel4~]#/usr/lib/cyrus-imapd/cyradm-ucyruslocalhost
IMAPPassword:
localhost.localdomain>setacluser.netseekcyrusall
localhost.localdomain>deletemailboxuser.netseek
localhost.localdomain>listacluser.netseek
Mailboxdoesnotexist


常用的cyradm管理命令缩写形式:
listmailboxlm列出与给定字符串相匹配的所有邮件信箱的名称:
createmailboxcm创建一个新的邮件信箱
deletemailboxdm删除一个邮件信箱及其下层的所有文件夹
renamemailboxrenm为邮箱改名
setaclmailboxsam为邮件信箱设置用户的访问权限
deleteaclmailobxdam删除用户访问邮件信箱的部分或全部权限
listaclmailboxlam列出邮件信息的访问权限列表
setquotasq为邮件信箱设置配额
listquotalq列出邮件配额.


六,虚拟别名域的配置和用户别名的配置
虚拟别名域的配置:
1,/etc/postfix/main.cf
virtual_alias_domains=52ulinux.com,5ulinux.net
alias_maps=hash:/etc/aliases
2.vi/etc/postfix/virtual进行如下定义:
@5ulinux.com@5ulinux.net
admin@linux-lab.cnnetseek
stu@linux-lab.cnstu1,stu2,stu3
hr@linux-lab.cnhr,hr@163.com
3.使配置文件生效:
postmap/etc/postfix/virtual
postfixreload

用户别名的配置:
1.vi/etc/postfix/main.cf
alias_maps=hash:/etc/aliases
#vi/etc/aliases
stu:stu1,stu2,stu3,stu4
stuall::include:/etc/mail/stuall
netseek:jincheng.cao
cnseek:cnseek@msn.com
2.使配置文件生效:
#postfix/etc/aliases//我在这别名好像出错.
#postfixreload