啟動 Cyrus SASL
1.設定開機時啟動Cyrus SASL
# chmod 755 /etc/rc.d/rc.saslauthd
2.建立 sendmail 與 cyrus SASL 使用的簡易設定檔
# echo 'pwcheck_method: saslauthd' > /etc/sasl2/Sendmail.conf
sendmail 會使用 SASL 這個函式庫裡面,
在 /etc/sasl2/Sendmail.conf 這個檔案的設定做為
他預設使用 SASL 的參數檔案,那個 Sendmail 的 S 是大寫,
請不要寫錯了!
3.檢驗 saslauthd 這支程式是否可行
# testsaslauthd -u userID -p 'yours.passwd'
若顯示
0: OK "Success."
那麼就是成功了
4.設定 local-host-names 檔
# vi /etc/mail/local-host-names
abc.net mail.abc.net
設定要收信的網域名稱
5.編輯 /etc/resolv.conf
Search abc.net
(輸入您的網域)nameserver 1.2.3.4
(輸入名稱伺服器的IP位址)
6.開啟pop3
# vi /etc/inetd.conf
將pop3前面的 # 號拿# pop3 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/popa3d
變成pop3 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/popa3d
7.產生 SlackWare Linux 13 SendMail使用的認證檔
# openssl genrsa 1024 > smtp.key.pem # openssl req -new -key smtp.key.pem > newreq.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:TW
(輸入國家名稱-簡稱)State or Province Name (full name) [Some-State]:Taiwan
(輸入國家名稱-全名)Locality Name (eg, city) []:Kaohsiung
(輸入城市名稱)Organization Name (eg, company) [Internet Widgits Pty Ltd]:TEST CO LTD
(輸入公司名稱)Organizational Unit Name (eg, section) []:PD
(輸入公司類型)Common Name (eg, YOUR name) []:abc.net
(輸入您的mail的網域名稱,就是@後面的部分)Email Address []:abc@yahoo.com.tw
(輸入您的E-mail)Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:123456
(輸入密碼)An optional company name []:123456
(再輸入一次密碼)
將smtp.key.pem複製到 /etc/mail/certs/ 內。
8.到 CAcert 產生 smtp.cert.pem
要使用 CAcert 產生 smtp.cert.pem檔,在 CAcert 必須要有一個帳號,
CAcert帳號申請方式請式
登入 CAcert 後,進入會員專區
到 [服務器證書] ->[新建],會出現一個框,將剛剛產生的 newreq.crs 內容貼在此框。
將內容貼在此框後,按下[提交]
確認一下後,按下[提交]
上圖為[服務器認證書],將此內容複製下來,存成 smtp.cert.pem,
然後複製到 /etc/mail/certs/ 內
這個認證書也會發一封通知信到您的信箱。
PS.此認證書有效期限只有六個月,到期候必須重新申請
接下來,要下載[根認證書]以及[已失效的認證書列表]這兩個檔案
進入CAcert的首頁,點擊右邊的ROOT Certificate選項,會出現如下畫面:
將紅色框起來的部分,下載下來,其中
CRL的檔名為revoke.cr,不用改檔名。
Root Certificate (PEM Format) 的檔名為 root.crt 請改成 CA.cert.pem
然後將這兩個檔案,複製到 /etc/mail/certs/ 內
接下來設定權限
# chmod -R 700 /etc/mail/certs
# chown -R root:sys /etc/mail/certs
9.編輯sendmail-slackware-tls-sasl.mc文件
# vi /usr/share/sendmail/cf/cf/sendmail-slackware-tls-sasl.mc
在最後面加入下列幾行define(`confCRL', `/etc/mail/certs/revoke.crl') define(`confCONNECTION_RATE_THROTTLE', `50') define(`confMAX_DAEMON_CHILDREN',`100')
confCONNECTION_RATE_THROTTLE:每一秒伺服器可以接收到的連線數, 預設情況下,sendmail 並不限制連線數,假如限度已設定,而且達到了,將會延遲接續的連線。 confMAX_DAEMON_CHILDREN :伺服器可以衍生之子程序的最大數量,預設情況下, sendmail並不限定子程序的數量,假如一個限度已經設定而且達到了,將會延遲接續的連線。
10.將MC 檔編輯成 CF,然後放到 /etc/mail 資料夾內
# cd /usr/share/sendmail/cf/cf/
# sh Build sendmail-slackware-tls-sasl.mc
# mv sendmail-slackware-tls-sasl.cf /etc/mail/ sendmail.cf
11.編輯 etc/rc.d/rc.sendmail
找到echo "Starting sendmail MTA daemon: /usr/sbin/sendmail -L sm-mta -bd -q25m" /usr/sbin/sendmail -L sm-mta -bd -q25m
改成echo "Starting sendmail MTA daemon: /usr/sbin/sendmail -L sm-mta -bd -q25m -O LogLevel=16" /usr/sbin/sendmail -L sm-mta -bd -q25m -O LogLevel=16
改好後存檔
12.重新啟動 SendMail
# /etc/rc.d/rc.sendmail restart
==========================================
其他:
增加 mail 的使用者
# useradd -g 初始群組 -m -s /sbin/nologin 使用者