-u:啟動用戶的配額限製。

-g:啟動用戶組的配額限製。

5.關閉配額限製

[root@vm ~] quotaoff [-a]

-a:關閉所有的配額限製。

任務實施

一、配置Sendmail郵件服務器

Sendmail完成安裝後即可使用,但它默認隻監聽來自127.0.0.1的郵件收發請求,因此Sendmail還不能提供真正意義上的郵件服務。要使它能提供完善的郵件服務,需要管理員進行相應的配置,主要內容包括:郵件主機配置、設置郵件主機名、郵件服務器使用權限、郵件中繼認證等。

1.配置Sendmail郵件主機

Sendmail的配置文件大多存放在/etc/mail目錄中,其核心配置文件是sendmail.cf。

sendmail.cf的內容相當複雜,在實際配置中是通過修改配置文件sendmail.mc,然後通過工具程序m4導入到sendmail.cf來實現郵件主機配置的。

(1)修改配置文件sendmail.mc。

[root@vm ~]vi /etc/mail/sendmail.mc

dnl 在sendmail.mc文件中,和字符串dnl是注釋符,習慣以dnl開頭

dnl設置是否把注釋信息導出sendmail.cf中。divert(0)為導出,divert(-1)為禁止導出

divert(-1)

dnl

dnl include、OSTYPE等稱為設置函數,小括號中為設置參數

dnl 設置函數的作用請參考/usr/share/sendmail-cf/README中的說明,一般不用修改

dnl 設置m4在把sendmail.mc轉換成sendmail.cf時讀取的參數文件,必須修改

include('/usr/share/sendmail-cf/m4/cf.m4')dnl

dnl 設置版本標誌

VERSIONID('setup for Red Hat Linux')dnl

dnl 設置使用的操作係統類型

OSTYPE('linux')dnl

dnl

dnl define函數用於定義sendmail的參數項和參數值

dnl 設置郵件別名文件的存儲位置

define('ALIAS_FILE', '/etc/aliases')dnl

dnl FEATURE函數用於配置sendmail額外的特別功能

dnl 設置sendmail的訪問權限數據庫access.db

FEATURE('access_db', 'hash -T -o /etc/mail/access.db')dnl

dnl 設置sendmail的監聽參數,Addr指定監聽網段,改成內部網段或0.0.0.0

dnl 0.0.0.0代表所有網段。sendmail的基本配置隻需修改這一行就可以了

DAEMON_OPTIONS('Port=smtp, Addr=0.0.0.0, Name=MTA')dnl

…dnl MAILER函數設置郵件投遞代理(MDA)

dnl sendmail支持的MAILER可在/usr/share/sendmail-cf/mailer中找到

dnl local處理來自本機內部的郵件,smtp處理來自本機外部的郵件

MAILER(local)dnl

MAILER(smtp)dnl

(2)使用m4把sendmail.mc轉換成sendmail.cf。

[root@vm ~]cd /etc/mail

[root@vm mail]m4 sendmail.mc > sendmail.cf

2.配置POP3服務器

POP3和IMAP收件服務由dovecot服務提供。默認情況下,dovecot啟動後POP3和IMAP服務就能正常工作,不需要進行額外配置。dovecot的主配置文件是/etc/dovecot.conf。通常需要確認是否有如下的配置參數項:

[root@vm ~]vi /etc/dovecot.conf

在使用基本的POP3和IMAP服務時,不需要修改本文件,默認值就能很好支持

設置存放dovecot運行時數據的主目錄

base_dir = /var/run/dovecot/

指定服務協議,可以是imap imaps pop3 pop3s

protocols = pop3 imap

指定dovecot要監聽的主機IP地址,*表示所有IPv4地址,[::]表示所有IPv6地址

設置監聽所有IPv6地址

listen = [::]

設置監聽所有IPv4地址

listen =*

設置POP3的特性參數,一般不需進行任何修改,默認所有參數項都被注釋掉了

protocol pop3 {

login_executable = /usr/libexec/dovecot/pop3-login

mail_executable = /usr/libexec/dovecot/pop3

pop3_no_flag_updates = no

pop3_enable_last = no

UW’s ipop3d : %08Xv%08Xu

Courier version 0 : %f

Courier version 1 : %u

Courier version 2 : %v-%u

Cyrus (<= 2.1.3) : %u

Cyrus (>= 2.1.4) : %v.%u

Older Dovecots : %v.%u

pop3_uidl_format = %08Xu%08Xv

pop3_logout_format = top=%t/%T, retr=%r/%R, del=%d/%m, size=%s

mail_use_modules = no

mail_modules = /usr/lib/dovecot/pop3

pop3_client_workarounds =

}

文件中每個參數項都有說明,這裏不一一解釋,其他參數項省略

3.設置郵件服務器主機名

為了Sendmail服務正常工作,必須正確設置郵件服務器主機名或別名。

[root@vm ~]vi /etc/mail/local-host-names

每個主機名或別名占一行

主機有兩個別名:mail.hws.com和mail.hws.cn都可用來收發郵件,則應設置成

hws.com

mail.hws.com

hws.cn

mail.hws.cn

學藝錦囊

◎Sendmail的主配置文件sendmail.cf由特定宏語言編寫,非常複雜。切忌不要手動修改,而是通過修改sendmail.mc,然後用工具程序m4轉換生成。

◎在編輯sendmail.mc時要特別注意字母的大小寫,且不能在文件中隨意修改。

◎在sendmail.mc文件中,dnl和都是注釋符,dnl開始的行不會影響服務的行為,配置行結尾處的dnl不影響配置行起作用。

◎必須在local-host-names中正確設置郵件主機名後,郵件服務才能正常工作。

◎在進行配置前一定要把相關配置文件做好備份。

4.配置郵件服務器的使用權限

默認情況下,Sendmail關閉了開放中繼(OPEN RELAY),因此它隻傳輸來自郵件主機內部的郵件,來自主機外部的郵件一概退回。係統管理員需要配置/etc/mail/access來開放或阻止用戶使用郵件服務器的中繼功能。

(1)修改配置文件/etc/mail/access。

[root@vm ~]vi /etc/mail/access

access的設置格式:用戶範圍 在Sendmail上可進行的操作

用戶範圍:IP地址|網段|主機名|郵件地址,範圍前加from表示來源,to表示目的

在用戶範圍與操作之間用製表符分隔,即按Tab鍵

默認啟用的主機或IP

localhost.localdomain RELAY

localhost RELAY

127.0.0.1 RELAY

允許傳輸192.168.0.0/24網段和hws.com域的郵件

192.168.0 RELAY

hws.com RELAY

拒絕來自135.126.89.122和主機foo.works.cn的郵件

from:135.126.89.122 REJECT

from: foo.works.cn REJECT

丟棄[email protected]的郵件和到cbb.com.cn的郵件

[email protected] DISCARD

to:cbb.com.cn DISCARD

(2)生成訪問權限數據庫。

[root@vm ~]makemap hash /etc/mail/access.db < /etc/mail/access

5.啟動郵件服務器

(1)啟動或重新啟動sendmail。

[root@vm ~]service sendmail start

[root@vm ~] service sendmail restart

(2)啟動或重新啟動POP3服務。

[root@vm ~] service dovecot start

[root@vm ~] service dovecot restart

6.測試郵件服務

郵件服務器配置完成並成功啟動後,係統管理員要保證它能正常提供郵件服務還必須進行必要的測試。通常可以利用telnet來快速測試SMTP的寄信功能,或直接使用郵件客戶端程序如Linux下的mail、Kmail或者Windows下的Outlook Express來測試郵件服務係統的收發功能。

(1)快速測試SMTP的寄信功能。

測試操作說明:

telnet 郵件主機名或IP地址 25 啟動SMTP寄信測試

hello localhost 向郵件主機打招呼

mail from:”Testing” 指定郵件標題和發信人郵箱地址

rcpt to:[email protected] 指定收件人郵箱地址

data 請求寫郵件正文,以“.”結束

quit 退出

(2)在Linux下用mail撰寫發送郵件。

測試操作說明:

序號 操作 說明

1 mail 郵箱地址向指定郵箱發送郵件

2 Subject: 在其後輸入郵件標題

3 輸入郵件正文,空行首輸入“.”結束

4 Cc: 輸入抄送郵箱地址

(3)在linux下用mail接收管理郵件。

測試操作說明:

mail 打開當前用戶的郵箱,顯示郵件列表,U表示未讀郵件,N表示新郵件,>表示當前郵件

& mail的命令提示符

輸入郵件編號 讀指定編號的郵件,直接回車讀當前郵件

h 顯示郵件列表

s 郵件編號 文件名把指定編號的郵件存入指定文件中

d郵件編號刪除指定編號的郵件

help 顯示mail所有的操作說明

x 退出mail,不改變郵箱的狀態

q 退出mail,改變郵箱的狀態,已讀郵件轉存入mbox

mail僅用於測試Sendmail的本地郵件功能。