如果您之前有看過小弟寫過關於mandrake
在上列的套件中包含了一些plugin及sasl系統
您可以依自己的需求進行安裝!
如何設定sasl及postfix
我想在 上一節中我們已經介紹過了postfix的設定了
這個部份我們也不再多做講解
首先我們在/etc/postfix/main
基本上范例如下
# server
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks
#smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd
smtpd_sasl_security_options = noanonymous
# client
smtp_sasl_auth_enable = yes
我們一個一個來解釋一下
smtpd_sasl_auth_enable = yes
這是激活sasl支持
smtpd_sasl_local_domain = $myhostname
指 sasl 預設 domain
請設定 $myhostname
smtpd_recipient_restrictions = permit_mynetworks
指使用認證的設定(請保持上列為一行
a
b
c
smtpd_sasl_security_options = noanonymous
指 sasl 安全選項
i
ii
iii
ix
任何一項不通過信件都可能造成信件無法送出
另外二個
broken_sasl_auth_clients = yes
#client
smtp_sasl_auth_enable = yes
這二個支持client端的服務
主要是針對客戶端的連結軟件個區隔
所以 broken_sasl_auth_clients 就當沒看到吧^ ^|||
接下來我們可以試著執行postfix 確認
#
# postfix check
#postfix reload
如果沒有錯誤訊息您的設定 就算成功了!
接下來我們設定sasl的認證項目
修改 /usr/lib/sasl/nf
# vi /usr/lib/sasl/nf
看起來像這樣:
pwcheck_method:sasldb
這是指定密碼認證方式
(主要分成四種 pam
這一行設定完成後
基本認證功能大至上就完了了哦
附注:
密碼認證方式
使用系統的pam來做認證
以下為舊的方式:(參考一下就好了)
預設的pam 認證方式
/usr/lib/sasl/nf
#%PAM
auth required /lib/security/pam_stack
account required /lib/security/pam_stack
也即和/etc/pam
修改/etc/shadow文件權限
因為PAM最終要去讀取/etc/shadow文件的內容來進行用戶認證
權限是設置為只有root用戶可以讀寫
執行以下命令
方式
# chmod
# usermod
方式
目前pam已經交由saslauthd來處理所以大至上不需要再改成
注意: pam 認證不支持 CRAM
這大概是pam本身的限制 !
使用系統的影子文件來進行認證
因為要讀取/etc/shadow檔案(影子檔)
而檔限就必須要修改
pwcheck 其實是和shadow認證是相同的
都是要讀取影子檔shadow
不需要去修改影子檔shadow 的權限
在開機時就把影子文件中密碼讀出
#vi /etc/rc
在最後加上這一行
/usr/sbin/pwcheck
這樣您就不需要修改影子檔的權限了
使用sasl資料庫存放使用者帳號
一般建議使用 sasldb來設定
接下來我們來討論如何存取sasldb的數據庫
在安裝好您的cyrus
小弟不針對語法進行說明
請自行參照man
我們先試著設定一個帳號
新增語法
#saslpasswd
新增一個帳號為test
#saslpasswd
Password:[輸入密碼 test]
Again (for verification): [再輸入一次 密碼 test]
這樣就完成了一個新增使用者的動作了
帳號為 : test
密碼為 : test
再來我們試著用 sasldblistusers 查看使用者是否有新增
#sasldblistusers
user: test realm: www
user: test realm: www
user: test realm: www
列出了三個都是 test 帳號
為什麼有三個呢 ? 這要看您所安裝的plugin而定
libsasl
libsasl
libsasl
* Mandrake
重點來了!!!!!!
我想大家一直很不解的是從前
不管如何認證都不會通過!
在
刻意的讓 mail server在運作時和檔案系統分開
而造成我們所設定的sasldb無法存在正確路徑!
解決方法:
我想二個方法各有益斃
解法一: 修改 /etc/postfix/master
范例如下:
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (
# ==========================================================================
smtp inet n
#smtps inet n
#
#submission inet n
#
#
pickup fifo n
cleanup unix n
#qmgr fifo n
qmgr fifo n
#tlsmgr fifo
rewrite unix
bounce unix
defer unix
flush unix n
smtp unix
showq unix n
error unix
local unix
virtual unix
lmtp unix
#
# Interfaces to non
From:http://tw.wingwit.com/Article/program/Oracle/201311/18018.html