0.前言
安裝郵件伺服器 是一件簡單的事情.
FreeBSD系統裝好就已經有sendmail了,所缺乏的是pop3郵件伺服器.
sendmail --> 收信、發信 25 port (伺服器與伺服器間遞送郵件用)
pop3 --> 取信 110 port (伺服器與使用者端收發信件用)
A.設定sendmail
。限制機器轉送郵件的IP範圍
檔案:/etc/mail/relay-domains (此檔需自己新增)
修改:由於預設只幫localhost送信,所以必須在這個檔案將信任的ip範圍加上,
一個範圍一行,舉例來說:
163.16.163 --> 幫163.16.163.* 送信
mlc.edu.tw --> 幫*.mlc.edu.tw 送信
說明:並非郵件伺服器上要有帳號才能透過該伺服器發信.
舉例來說,若今天ohaha的relay是對tw開放,
那也就是說任何名稱解析後以tw 結尾的都接受送信.
若今天來自 *.seed.net.tw 的使用者在 smtp伺服器 填入 ohaha.ks.edu.tw
則雖然沒有帳號在ohaha上,也可以透過ohaha發信,
因為 seed.net.tw 被 ohaha 的 relay設定 的 tw(*.tw) 所接受.
所以呢,問題來了,relay-domains設的越嚴格,越不會有上述的情況發生,
但是相對的自己有時候也因為ip不在relay的範圍而受限.
。信件儲存的位置
路徑:/var/mail/
以個人帳號為檔案名稱,如root的信件夾,則為 /var/mail/root。
。信件退信的位置
路徑:/var/spool/mqueue/
說明:每一封信件會有兩個檔案,分別是表頭和內文.
反正一個觀念,不要理他,偶而去看一下就好,
若遲遲有太多的退信,則刪除他吧!
。系統信件設定
檔案: /etc/aliases
例子:
# Pretty much everything else in this file points to "root", so
# you would do well in either reading roots mailbox or forwarding
# roots email from here.
root: panda@ks.edu.tw (新增) (3)
# Basic system aliases -- these MUST be present
MAILER-DAEMON: postmaster (1)
postmaster: root (2)
說明: MAILER-DAEMON 是負責信件傳遞(收退信的),
FreeBSD預設轉往一個為postmaster的帳號(1)。
但是系統又將postmaster的信件轉往root使用者(2).
所以呢?我們只要將root 轉往常用的e-mail即可(3)。
今後,你每天都會收到2封信,是系統報告使用狀況的信件。
啟動: newaliases
B.POP3 伺服器
。popper --> Freebsd最常用...但我們不用...^^
註解: 以前只要將/etc/inetd.conf中pop3的註解打開就可以了,
現行版本需要另外自行安裝popper(/usr/ports/mail/popper) ..並把pop3打開
。cucipop
路徑:/usr/ports/mail/cucipop/
安裝:make install
make clean
執行檔: /usr/local/libexec/cucipop
開機自動執行:
1.檔案:/usr/local/etc/rc.d/cucipop.sh (自己新增檔案)
內容如下:
/usr/local/libexec/cucipop -YaSE 2M (此參數表示超過兩個月的信砍之)
2.變更權限:
# chmod 700 cucipop.sh
3.手動啟動
# /usr/local/etc/rc.d/cucipop.sh
註解: cucipop 亦可採用inetd 方式啟動 在/etc/inetd.conf 加入這一行
pop3 stream tcp nowait root /usr/local/libexec/cucipop cucipop -YaSE 2M
。mail server建議架構
建議若要設定quota的設立,所以最好在/var/mail建立分割區.
當然若是一台很綜合的機器,像ohaha.ks.edu.tw 分割區是這樣的.
/
/usr
/var
/usr/home
/data (我自己設的..放雜物用)
當然了,這是我理想中的狀態,目前是只有 / 、 /usr 、 /data
因為前陣子重新整理機器,隨便裝了.
C.Quota的建立
。加入核心對quota的支援
從LINT中,找到這一個部分.並加入你的核心敘述檔.
# Disk quotas are supported when this option is enabled.
options QUOTA #enable disk quotas
我習慣加在核心敘述檔的最後面,方便辨識.
別忘了要重新編譯核心,參閱 更新/升級 > kernel 部分.
。指定設定quota的分割區
檔案:/etc/fstab
說明:在分割區的功能選項中加入 userquota ,表示針對該分割區進行使用者quota設定.
如:
# Device Mountpoint FStype Options Dump Pass#
/dev/ad0s1e /var/mail ufs rw,userquota 2 2
。啟動quota
grep -i quota /etc/default/rc.conf >> /etc/rc.conf
檔案:/etc/rc.conf
將enable_quota選項設定為yes.
enable_quotas="YES" # turn on quotas on startup (or NO).
check_quotas="YES" # Check quotas on startup (or NO).
設定完成後,重新啟動機器. 啟動後,會在分割區的最頂層產生quota.user(此例為/var/mail/)
。建立使用者quota
edquota -u 使用者id ex:edqouta -u panda
。單位:K
。inodes:檔案個數...但不完全正確...因為可能有數個檔案的inodes相同(如硬式連結 hard link )
Quotas for user panda:
/var/mail: blocks in use: 25174, limits (soft = 0, hard = 0)
inodes in use: 183, limits (soft = 0, hard = 0)
。blocks代表使用空間,soft表示軟式限制,hard表硬式限制
所謂軟式限制是說到達軟式限制後仍可儲存檔案直到等於硬式限制,其中的差距就是緩衝.
。將0 的部分改成您想要的大小為使用者加上的限制,修改完成後存檔即可.
。大量複製使用者quota
edquota -p 使用者範例 想複製的uid範圍
ex: edquota -p panda 3000~5000
(表示以panda為範例,將uid位於3000~到5000的使用者,quota設成跟panda相同)
。檢視使用者quota設定
quota -v 使用者id
|