修改postfix和dovecot的认证方式

一、引言

        在上一文中介绍了在Ubuntu 16.04布置postfix、dovecot邮件服务器的方法,本文紧接着上一文,主要介绍修改postfix认证方式和dovecot的认证方式。

二、修改postfix认证方式为sasl-auth

2.1 安装sasl2-bin

        想要修改postfix的认证方式为sasl-auth,需要先安装sasl2-bin,安装的方法如下:

 

apt-get install sasl2-bin

 

2.2修改postfix相关配置

         我们在上一文的配置基础之上进行修改,只需要将/etc/postfix/main.cf文件中做如下修改:

2.2.1注释掉下面的配置:

 

#smtpd_sasl_type = dovecot
#queue_directory = /var/spool/postfix

 

2.2.2配置下面的语句:

 

smtpd_sasl_path = smtpd
smtpd_sasl_authenticated_header = yes

 

2.2.3在/etc/postfix/sasl/目录下创建文件smtpd.conf

内容为:

 

pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM

 

2.2.4使用saslpasswd2创建用户:

 

saslpasswd2 -c -u test.com test
sudo cp -a /etc/sasldb2 /var/spool/postfix/etc/

 

        必须把数据库文件复制到postfix的运行目录下,否则会出现postfix用户无法访问该文件的权限问题,而且每次增加或者删除用户都要复制一次

2.2.5将postfix添加到sasl组:

 

gpasswd -a postfix sasl

 

2.2.6 修改sasldb权限

 

chmod 640 /var/spool/postfix/etc/sasldb2

 

2.2.7 列举sasldb2中的用户

 

sasldblistusers2 -f /var/spool/postfix/etc/sasldb2

 

        经过了上述几个步骤,就已经完成了postfix认证用户的修改,配置完后重启postfix,使用sasl-auth认证比dovecot-auth认证,效率要高很多。

三、修改dovecot的认证方式为文件认证

        dovecot默认的认证方式为系统认证,也就是说它是把每一个ubuntu系统的用户当成了email的用户,用户的名称和密码两者完全一致。下面我们就修改dovecot默认的这种认证方式。

3.1 修改10-auth.conf文件

        /etc/dovecot/conf.d/10-auth.conf文件负责设置dovecot所使用的sasl验证方法。将!include auth-system.conf.ext这行注释掉,把#includeauth-passwdfile.conf.ext这行的注释去掉,这样便可以使用密码文件来进行sasl认证。如下红色圈出部分:

3.2 创建认证文件users

        找到同一目录下auth-passwdfile.conf.ext文件中,可以看到密码文件默认为/etc/dovecot/users.接下来,需要我们创建这个文件,并填写用户信息:

 

       zhangsan:{plain}xxxxxxxx:1000:1000::/home/user1/zhangsan 
       lisi:{plain}xxxxxxxx:1000:1000::/home/user1/lisi

 

        该文件格式从左到右依次为:用户名、加密方式和口令、代收用户的用户id、代收用户的组id、邮件所在文件夹。其中邮件的所在文件夹当然是postfix所收取的邮件所在的文件夹。但是用户名是dovecot系统用户名,也就是他和postfix可以不是一一对应的。如果我们用zhangsan这个名字来收取postfix虚用户里lisi的邮件所在文件夹的邮件,也是可以的。所以MUA中可以自行设置一套收信口令。配置完成之后重启dovecot即可。

         需要注意:

              1、要修改users文件的权限为775,否则启动dovecot会报错。

              2、users文件中的内容只是dovecot用户和系统用户的一个映射,也需要创建相应的系统用户,即在/etc/passwd文件中存在的用户,采用用users文件中的用户接受邮件。

              3、对于新增的用户,都要将其对应的home目录的所有者改成该用户,否则可能出现权限问题。

              4、postfix和dovecot实际上采用的是两种不同的认证方式,只不过是账号和密码相同而已。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章