修改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實際上採用的是兩種不同的認證方式,只不過是賬號和密碼相同而已。

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