Postfix Dovecot SASL和虚拟用户的原理与配置

  最近,工作中有搭建邮件服务器的需求,所以这几日研究了一下邮件系统的各个组件以及原理。现记录如下:

 预期的邮件系统架构:
 MTA : Postfix
 认证模块:Cyrus SASL + Dovecot SASL
 POP3/IMAP: Dovecot
 
 Postfix部分基础的配置就先不写了,主要是记录Virtual User部分和SASL部分。
 1.虚拟用户:
 虚拟用户不同于系统中已经存在的用户(/etc/passwd)中的用户,而是借助于一个普通的系统用户,实现多个用户共享的认证和使用。类似于普通系统用户就是一张电影票。你也可以拿这张票去看电影,我也可以那这张票去看电影。只要是获取了这张票,就可以坐在相应的位置上,享受电影服务,类比到系统中,就类似于获取了该实体用户的属性,如读写等权限,至于获取这张票的过程,牵扯到SASL认证,这个在第二部分论述。Postfix中是支持虚拟用户的,在配置上就是以virtual开头的一些配置,如下:

virtual_mailbox_domains = example.com #虚拟邮箱的域,类似于mydestination
virtual_mailbox_maps = hash:/etc/postfix/v_maps #虚拟用户的虚拟用户以及存放虚拟用户的邮件位置。此处疑问:MTA只管转发,此处超出了MTA的范围了,疑惑,后面有virtual_transport这个选项指定MDA,这个地方就不用疑惑了。此外,/etc/postfix/v_maps是一个文件,内容如下
###
###hello@example.com example.com/hello_mail/
###

virtual_mailbox_base = /mail/vhosts #虚拟用户的基目录
virtual_minimum_uid = 500 #虚拟用户最小uid
virtual_uid_maps = static:5000 #如果所有用户的邮箱都使用一个uid,那么指定一个静态的uid。
virtual_gid_maps = static:5000 #虚拟用户gid
virtual_transport = virtual #虚拟投递代理



 2.SASL认证:


  有一般邮件系统的知识的人知道,需要采用认证机制防止谁都可以用这个MTA发送邮件(open relay)。这个认证机制就是SASL,实现SASL的软件一般有两个我比较熟悉,Cyrus-SASL和Dovecot中自有的SASL,下面分别对这两个软件分别讨论。
 Cyrus-SASL:这个软件的使用saslauthd这个daemon来进行验证,具体的配置文件可以查看/etc/sysconfig/saslauthd这个配置文件。
MECH=pam:使用什么机制来进行验证,这里写的是使用PAM来进行验证。PAM,这个以后有机会再进行论述。

Dovecot-SASL: 这个软件是dovecot对SASL的一个实现,Dovecot官网中提到,Dovecot也实现了SASL。
  Dovcecot-SASL有两个部分,一个是passdb,一个是userdb, passdb用来实现认证,userdb用来实现提取用户的一些信息,比如邮件存储目录,uid等。
 相关的配置可以在/etc/dovecot/dovecot.conf中找到。
 认证过程也是先通过passdb认证,然后在userdb中获取用户信息,从而把该用户的邮件递送给该MUA,然后用户就可以读取邮件了。
 postfix的main.cf这个文件中有个SASL的选项,此处直接设置为smtpd_sasl_type = dovecot
 此处即是sasl使用dovecot的sasl进行验证。即发送邮件时,去dovecot验证,如果通过,就允许邮件发送了。因此,我们只要熟悉了dovecot的sasl怎么做的,就可以不用管postfix的验证了。

 dovecot-sasl部分的配置如下:
 passdb {
  args = /etc/dovecot/passwd #指定密码文件位置
  driver = passwd-file
 }
userdb {
  args = uid=vmail gid=vmail #指定uid
  driver = static #类型为static,即postfix中virtualuser部分的5000
 }
 /etc/dovecot/passwd中内容如下
 hello@example.com:{plain}hello
 此处的密码支持明文,md5加密等等,具体的支持类型可以查看官方文档,此处不再熬述。

 






来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29757574/viewspace-1810253/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29757574/viewspace-1810253/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值