安裝 Cyrus SASL 2.xx 版本!1. 首先將資料解壓縮(假設您將我們網站的檔案捉到 /root 底下了!) [root@test root]# cd /usr/local/src [root@test src]# tar -zxvf /root/cyrus-sasl-2.1.12.tar.gz .....(略).....最後建立一個 cyrus-sasl-2.1.12 的目錄 2. 再來就是設定你的 cyrus SASL 的參數以及編譯囉! [root@test src]# cd cyrus-sasl-2.1.12 [root@test cyrus-sasl-2.1.12]# ./configure > --prefix=/usr/local/cyrus-sasl2 --enable-login --enable-plain > --enable-pwcheck --with-saslauthd=/var/run # 注意上面的語法!!那個 是跳脫字元喔!後面直接 Enter ! # 不要接任何空白或者是 tab 按鍵!若有問題,請到 Shell 看看! # 至於那個 pwcheck 的項目,就是要用來做為密碼確認的一個咚咚囉! [root@test cyrus-sasl-2.1.12]# make clean && make [root@test cyrus-sasl-2.1.12]# make install # 上面三個步驟會花去一些時間,請耐心等待~ # 而由於我們剛剛設定了 --prefix=/usr/local/cyrus-sasl2 這個參數, # 所以, make install 之後,我們有用的函式庫會在 # /usr/local/cyrus-sasl2/lib/sasl2 這個路徑當中,但是, cyrus 程式 # 會主動去找 /usr/lib/sasl2 這個目錄!所以,我們必需要做連結檔! # 才可以讓未來我們的 postfix 可以直接找的到我們所要的函式庫喔! [root@test cyrus-sasl-2.1.12]# cd /usr/lib [root@test lib]# ln -s /usr/local/cyrus-sasl2/lib/* . # 這樣就建立起連結檔囉!很簡單吧! ^_^不過要注意喔, # 上面這一行最後面那個小數點『.』不要忘記加了! 3. 準備建立 Postfix 與 cyrus SASL 使用的簡易設定檔: [root@test lib]# cd /usr/lib/sasl2 [root@test sasl2]# echo 'pwcheck_method: saslauthd' > smtpd.conf [root@test sasl2]# echo 'mech_list:plain login' >> smtpd.conf # 注意了!一般來說, Postfix 會使用 SASL 這個函式庫裡面相關的設定檔, # /usr/lib/sasl2/smtpd.conf 這個檔案的設定就是 Postfix 的預設使用 SASL 的 # 參數檔案,與 1.5.xx 版本不太相同的地方是, 2.xx 版本使用不同的機制: auxprop :使用 sasldb2 這個共享資料庫,同樣需要使用共享密碼檔案喔! 所以一般來說,單純的 Postfix 比較少使用這種機制; saslauthd:使用 saslauthd 這個 daemon 進行認證的工作,所以幾乎 不需要其他的設定值哪,指定 saslauthd 就好啦! ^_^ pwcheck :使用與 1.5 版相似的認證 daemon ,不過在 2.xx 版本裡面這個模式 支援度比較沒有這麼好的啦,所以請愛用 saslauthd 囉! # 我們使用 SASL 預設的 saslauthd 這支程式做為密碼認證的 daemon。 # 至於 mech_list:plain login 是列出支援的認證機制的意思,我們使用的 # 是極為簡單的 login 與 plain 兩種機制而已! 4. 建立一些需要的參數: [root@test sasl2]# vi /etc/man.config # 新增底下這一行之後,未來我們就可以透過 man 這個工具來查詢 sasl # 相關的指令的用法了!而不需要修改任何咚咚!不過要注意的是, # 這個檔案在每個 Linux distributions 當中不見得相同,例如 Open Linux # 檔名是 /etc/man.conf 呢! MANPATH /usr/local/cyrus-sasl2/man 5. 檢驗 saslauthd 這支程式是否可行! # 在 cyrus-sasl 的原始碼裡面提供了一支小程式用來判斷 saslauthd 的認證機制 # 是否成功的啟動了,這個小程式就是 testsaslauthd 囉!在剛剛原始碼目錄下, # 所以你可以這樣做: [root@test sasl2]# /usr/local/cyrus-sasl2/sbin/saslauthd -a shadow # 執行之後, saslauthd 的 PID 會被紀錄到 /var/run/mux.pid 這個檔案! [root@test sasl2]# cd /usr/local/src/cyrus-sasl-2.1.12/saslauthd/ [root@test saslauthd]# make testsaslauthd [root@test saslauthd]# ./testsaslauthd -u userID -p 'yours.passwd' 0: OK "Success." # 若顯示 OK 的話!那麼就是成功啦!很好!我喜歡~ 6. 設定開機時啟動 [root @test saslauthd]# vi /etc/rc.d/rc.local # 加入這一行: /usr/local/cyrus-sasl2/sbin/saslauthd -a shadow |