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只管轉發,此處超出了M他的範圍了,疑惑,後面有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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- CentOS 6.4 x64 postfix + dovecot + 虛擬使用者認證CentOS
- 配置postfix和dovecot啟用SSL以加密連線加密
- Linux中Postfix虛擬使用者及虛擬域(六)Linux
- 使用postfix與dovecot服務部署郵件系統
- Postfix-2.11+Dovecot-2.0.9+MySQL+CyMySql
- 用POSTFIX,DOVECOT,OPENWEBMAIL整合在CENTOS上WebAICentOS
- CentOS6安裝dovecot並提供sasl功能CentOS
- 我的個人電子郵件系統設定:notmuch、mbsync、Postfix 和 dovecot
- Centos Linux 7 搭建郵件伺服器(postfix + dovecot)CentOSLinux伺服器
- Ubuntu 下 vsftpd的虛擬使用者配置(轉)UbuntuFTP
- postfix安裝和簡單配置
- 虛擬函式的呼叫原理函式
- vue虛擬dom原理Vue
- kafka ssl sasl_ssl 配置Kafka
- 虛擬機器配置和環境搭建虛擬機
- Kafka怎麼配置SASL使用者名稱密碼認證Kafka密碼
- 虛擬函式的實現原理函式
- .Net 虛擬框架的實現原理框架
- 最新ubuntu搭建公網個人郵件伺服器(基於postfix,dovecot,mysql)Ubuntu伺服器MySql
- RHEL5上安裝郵件系統Postfix+CyrusSASL+dovecot(轉帖)
- 【React深入】深入分析虛擬DOM的渲染原理和特性React
- Java跨平臺原理與Java虛擬機器(JVM)Java虛擬機JVM
- 虛擬機器遷移技術原理與應用虛擬機
- 虛擬機器VMWARE與其網路配置(包你玩轉虛擬機器)(轉)虛擬機
- java虛擬機器的執行原理Java虛擬機
- Kafka SASL ACL配置踩坑總結Kafka
- Linux 配置虛擬IPLinux
- Nginx虛擬主機配置Nginx
- 【Mysql】MHA配置虛擬ipMySql
- 虛擬機器(三)虛擬機器配置靜態Ip虛擬機
- 虛擬機器與電腦主機網路配置虛擬機
- VMware安裝CentOS虛擬機器與配置網路CentOS虛擬機
- 虛擬環境配置以及xshll配置
- 無錯版Vsftpd+Mysql+Pam配置虛擬使用者方法FTPMySql
- Hadoop叢集--linux虛擬機器Hadoop安裝與配置、克隆虛擬機器HadoopLinux虛擬機
- Dalvik虛擬機器、Java虛擬機器與ART虛擬機器虛擬機Java
- 配置vsftpd匿名使用服務,個人使用者使用以及虛擬使用者使用配置細節!FTP
- 虛擬函式實現原理(轉)函式