為了能從網絡上接收SMTP電子郵件,我們必須在Linux系統上運行Sendmail守護進程。命令是;
# /etc/rc.d/init.d/sendmail start
為了方便起見,我們應該使用ntsysv命令把Sendmail守護進程加到引導程序中,在多數情況下,安裝時Linux就已經自動將Sendmail包含在引導程序中了。這樣每次開機時,Linux都會啟動Sendmail守護進程并偵聽端口25,處理進入的郵件。
Sendmail的配置文件是/etc/sendmail.cf文件,它包含大部分的Sendmail配置的信息,包括在用戶郵件程序和郵件傳輸程序之間為郵件選擇路由所需的信息。Sendmail.cf文件有三個主要功能:
·定義Sendmail環境。
·按照接收郵件程序的語法重寫地址。
·將地址映射成傳送郵件所需的指令。
執行所有這些功能需要若干命令。一些宏定義和可選用的命令可定義其環境,一些重寫規則可以重寫電子郵件的地址,一些郵件程序定義可定義傳送郵件所必需的指令。
sendmail.cf文件很大,看上去可復雜,但我們需要改動的地方很少。主要在local info中做文章。請在文件中尋找“Cw”,原來產生的cf 文件,Cw應是:
Cwlocalhost
# file containing names of hosts for which we receive email
# Fw/etc/sendmail.cw
請在localhost之后加上我們那一臺機器所有可能用來當收信地址的主機的名字。例如,在局域網絡Virtual Brewery中的一臺機器叫:vlager.vbrew.com,而且也叫gopher.vbrew.com,而該網絡的管理員希望這一臺機器的這兩個名字都能收信,那么他需要這樣修改sendmail.cf文件:
Cwlocalhost vlager.vbrew.com gopher.vbrew.com
上面只是一種簡便的方法,如果系統中運行著DNS,我們可以通過DNS來解析主機別名(如下所示),而不用加上主機別名gopher.vbrew.com。如果沒有運行DNS,那么必須將本機器的所有名字都寫上。
如果用作郵件服務器的主機有多個名字(hostname),例如:
vlager IN A 191.72.1.1
gopher IN CNAME vlager
那么我們可以不必在Cw上標明,系統會透過DNS 找到它的別名
如果一臺機器有多個名字,但是每一個別名是用A record 建立的,例如:
vlager IN A 191.72.1.1
gopher IN A 191.72.1.1
在這種情況下【一定】要記得在Cw后寫上所要收信主機的名字。如果忘記了,那么從外面寄來的以別名為地址的信件將無法正常接收,機器會抱怨:
“Local configuration error”
例如,如果在sendmail.cf中的Cw這行是Cw vlager.vbrew.com,那么局域網Virtual Brewery中的用戶將無法使用郵件地址username@gopher.vbrew.com而只能用username@ vlager.vbrew.com,否則將出現上述錯誤。
如果一臺機器有多interface,各interface有其本身的名字,而且要收信。這種情況也要在Cw之後寫明所有要收信的hostname。
在我們的例子中F命令是作為注釋處理的,如果去掉它前面的“#”號,那么sendmail將從/etc/sendmail.cw中讀取主機的別名,并將別名儲存在類w中。將F命令做注釋處理,并讓sendmail在內部定義別名這是一種最常用的方法。
打開/etc/mail/aclearcase/" target="_blank" >ccess文件時,會看到(注意一些系統的access文件不再/etc/mail下,如找不到請用whereis查找或檢查是否安裝正常):
|
|
在我們配置完sendmail后,可以運行以下的命令來檢查目錄的讀寫權限以檢查潛在的安全漏洞。
# sendmail –b –vi
這時,sendmail將開始初始化alias數據,如果在屏幕上回顯:
WARNING: writable directory /etc
WARNING: writable directory /usr/spool/mqueue
那么這個目錄列出了不適當的寫特權,應該使用chmod和 chown命令以避免多方面的的安全攻擊。一般我們需要對如下目錄運行chmod和chown命令:
|
Lack,please reply if you see this,Thanks.
^D
lark@ vlager.vbrew.com…..Connecting to vlager.vbrew.com via tcp…
Trying 191.72.1.1 ….connected.
220 VLAGER.VBREW.COM on Web, 30 Sep 99 16:23:23 CST
>>> HELLO maths.groucho.edu
250 VLAGER.VBREW.COM is my domain name
>>> MAIL From:< gauss.maths.groucho.edu.>
250 OK
>>> DATE
354 Enter mail body, End by new line with just a ‘.’
>>>.
250 Mail Delivered
>>> QUIT
221 VLAGER.VBREW.COM closing connection
lack@vlager.vbrew.com…sent
我們在CTRL-D之前輸入所有的內容,而sendmail則顯示^D之后的內容。通過對sendmail的測試,我們就可以發現潛在的配置問題,并使用sendmail提供的一些附加查錯工具解決這些問題。
(責任編輯:城塵)