| 论坛注册| 加入收藏 | 设为首页| RSS
Google
您当前的位置:首页 > Linux频道 > linux网络与应用 > Linux服务器

linux系统管理员讲义(10)

时间:2006-06-22 12:41:12  来源:Linux联盟收集  作者:上上智

附錄:

A. sendmail.mc 組態設定

常用的 sendmail 功能選項(使用 FEATURE

功能名稱作用
use_cw_file啟用 sendmail.cwsendmail.cw 是用來設定郵件主機的管理網域,如果管理網域經常會異動,直接修改 snedmial.cf 中的 Cw 設定有點小題大作,這時候直接修改 sendmail.cw 比較方便
use_ct_file啟用 /etc/mail/trusted-users,這個組態檔是用來讓服務帳號(例如:apache)也可以寄信,而不會收到警告信
redirect當某個使用者的信箱已經轉移到另一台主機時,通常會直接退信並告知對方 user unknow,如果啟用這個功能,只要在 aliases 中加入 shane:  shane@new_school.tp.edu.tw.REDIRECT,退信時就會告訴寄信人:shane 已經搬到 shane@new_school.tp.edu.tw 去了,請嘗試用新地址連絡!
nocanonify用來關閉對寄信人郵件地址的完整性檢查,允許收發郵件地址欄位缺少網域名稱的信件(例如:from: root),通常在當傳真機時才用得到,使用這個選項會有安全上的漏洞,建議用genericstable 將不完整名稱改寫成完整名稱,這樣比較安全
always_add_domain要求將 localhost 信件改寫為完整的網域名稱,shanemail --> shane@mail.spps.tp.edu.tw
allmasquerade對收件人欄位也進行郵件地址偽裝(預設只對寄件人欄位進行處理)
limited_masquerade只對 MASQUERADE_DOMAIN 所列出的網域名稱進行偽裝(預設會對所有本機網域名稱進行處理)
masquerade_entire_domain檢查 MASQUERADE_DOMAIN 所列出的網域名稱時,要包含子網域一起處理(預設只處理完全匹配的網域名稱)
local_no_masquerade不要對由本機寄給本機的信件進行郵件地址偽裝
ldap_routing透過 ldap 查詢使用者信箱的設定進行郵件轉寄,須配合 LDAP 伺服器使用
nodns進行網址轉譯時時不要透過 DNS 伺服器,當校內沒有安裝 DNS 時使用
local_lmtp啟用 /usr/libexec/mail.local 作為預設 LDA
local_procmail啟用 /usr/local/bin/procmail 作為預設 LDA(也可以在參數指定別家過濾軟體,例如:maildrop scanmails......等等,預設是 procmail
promiscuous_relay允許 Relay,使用這個功能將使 access 形同虛設
relay_entire_domain允許本機網域的所有子網域,可以透過本機進行 Relay,當本機是作為 mail gateway 時才使用
relay_hosts_only與前一個功能相反,必須完全匹配的網域才進行 Relay
relay_based_on_MX根據 MX 紀錄來進行 Relay,與前兩個功能不同的地方是:可以不用指明 RELAY_DOMAIN 有哪些,sendmail 會自動根據 DNS 上的紀錄來決定
relay_mail_from當信件中的寄信人欄位吻合 access 中標示為 RELAY 的紀錄時,則允許 Relay
relay_local_from當信件中的寄信人欄位標示為本機網域時,允許進行 Relay,這個功能將會帶來無窮後患,建議不要啟用
accept_unqualified_senders允許使用者不提供寄信人的網域名稱就可以寄信,這個功能將會導致垃圾郵件為所欲為,建議不要啟用
accept_unresolvable_domains允許使用者以不完整或不存在的網域名稱寄信,這個功能將會導致垃圾郵件為所欲為,建議不要啟用
blacklist_recipients啟用黑名單檔信功能,所謂黑名單是指公認的不合法郵件地址,例如:nobody@foo.comguest@bar.com......等等
delay_checks這是 8.12 版的新功能,如果使用這個選項,當 client 連上來寄信時,會進行 check_mail check_relay 程序。預設值將僅進行 check_rcpt 程序(只針對收信人欄位進行檢查),為了要有效阻擋垃圾信,強烈建議使用 delay_checks
dnsbl啟用 DNS 黑名單功能,sendmail 會透過指定的網站取得黑名單列表,以便進行擋信。提供此服務的站台 blackholes.mail-abuse.org 已經改為會員制,您不能沒有註冊就使用它。
enhdnsblDNS 黑名單的進階版本
lookupdotdomain當核對 access 上的存取控制時,允許使用 .spps.tp.edu.tw 語法來含括子網域,不可與relay_hosts_only 合用
authinfo當對方的郵件主機支援 TLS/SSL 時,我方會根據 /etc/mail/authinfo.db 組態檔的定義來進行連線和認證,要使用此功能必須先向 CA 組織取得合法憑證
no_default_msa不啟用 MSA,這會讓 TLS/SSL 相關功能無法運作,話說回來,目前公開的郵件主機幾乎沒有人採用 SSMTP,因此應該是沒什麼影響

其它可微調選項(使用 define

巨集變數名稱[預設值]及說明
confCW_FILE[/etc/mail/local-host-names]指定本機網域名稱組態檔的路徑,以前是使用 /etc/sendmail.cw 在新版本裡已不再使用
confCT_FILE[/etc/mail/trusted-users]指定能收發郵件的服務帳號組態檔路徑
confCR_FILE[/etc/mail/relay-domains]指定要提供轉信的網域組態檔路徑
confMIN_FREE_BLOCKS[100]設定最小保留空間,當空間少於此數值 sendmail 會自動停止運作
confMAX_MESSAGE_SIZE[infinite]設定單封信件可容許的大小(以Byte 為單位),預設是無限制
confBIND_OPTS[undefined]設定如何進行 DNS 查詢,預設會先詢問 /etc/hosts 然後再問 DNS Server
confFORWARD_PATH[$z/.forward.$w:$z/.forward]設定 .forward 轉信機制組態檔路徑
confLOG_LEVEL[9]設定 mail 日誌的詳盡程度
confCHECK_ALIASES[False]設定要不要對 aliases 組態檔內的郵件地址進行 DNS 查詢驗證
confQUEUE_FILE_MODE[0600]設定待寄郵件暫存檔的檔案權限
confTO_INITIAL[5m]起始連線時的等待回應時限,超過時限就予以斷線
confTO_CONNECT[0]等待連線建立完成的時限
confTO_HELO[5m]執行 HELO EHLO 指令時的等待回應時限
confTO_MAIL[10m]執行 MAIL 指令時的等待回應時限
confTO_RCPT[1h]執行 RCPT 指令時的等待回應時限
confTO_DATAINIT[5m]執行 DATA 指令時的等待回應時限
confTO_DATABLOCK[1h]完成 DATA 指令的等待回應時限
confTO_DATAFINAL[1h]執行 . 指令時的等待回應時限
confTO_RSET[5m]執行 RSET 指令時的等待回應時限
confTO_QUIT[2m]執行 QUIT 指令時的等待回應時限
confTO_MISC[2m]執行 QUIT 以外的其它指令時的等待回應時限
confTO_COMMAND[1h]等待指令執行結果的時限
confTO_IDENT[5s]執行 IDENT 指令時的等待回應時限
confTO_FILEOPEN[60s]載入別名組態檔( aliases)中的引入檔(include)的時限
confTO_LHLO[2m]執行 LHLO 指令時的等待回應時限
confTO_AUTH[10m]執行 AUTH 指令時的等待回應時限
confTO_STARTTLS[1h]執行 STARTTLS 指令時的等待回應時限
confTO_CONTROL[2m]執行 CONTROL 相關指令時的等待回應時限
confTO_QUEUERETURN[5d]等候無法分信通知的時限
confTO_QUEUEWARN[4h]等候退信警告動作的時限
confTO_HOSTSTATUS[30m]提供主機狀態訊息的更新頻率
confDEF_USER_ID[1:1] sendmail 預設的執行帳號,建議改為 mail:mail
confQUEUE_LA(8 * numproc)處理待寄信件時的負載平衡,預設是處理器的 8
confREFUSE_LA(12 * numproc)處理拒絕收信時的負載平衡,預設是處理器的 12
confDELAY_LA[0]接受下個連線的延遲時間(sleep),0 表示無限制
confMAX_ALIAS_RECURSION[10]  aliases 中引用別名的遞迴限制,預設最多 10
confMAX_DAEMON_CHILDREN[undefined] sendmail fork 子程序的數量限制
confMAX_RCPTS_PER_MESSAGE[infinite]一封信最多可以有幾個收信人
confCONNECTION_RATE_THROTTLE[undefined] 每個子程序每秒鐘所能處理連線的數量限制
confDIAL_DELAY[0s]撥接失敗時的重試間隔,當你的郵件主機是透過撥接上線時,每次有人交寄郵件就會自動撥接,由於撥接需要撮合時間來協調雙方的傳輸速率,因此如果延遲設太短會造成撮合到一半自動斷線的情形,0 是表示失敗後不要重撥的意思
confDONT_EXPAND_CNAMES[False]當進行 DNS 查詢驗證時,如果查到的網域名稱是 CNAME 紀錄時,要不要追查 A 紀錄,預設是要
confDONT_INIT_GROUPS[False]分信時要不要載入 /etc/group 檔,預設是要,如果你使用 NIS 來管理帳號,應該設成不要
confUNSAFE_GROUP_WRITES[False]要不要檢查 aliases 中的 include 檔及 .forward 檔的權限設定是否為 group writable,預設是不載入 group writable 的組態檔
confAUTH_MECHANISMS[GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5 LOGIN PLAIN]認證時使用何種驗證機制,建議將 PLAIN LOGIN 移除
confAUTH_OPTIONS[undefined]定義認證功能選項:
A表示通過認證者可以寄信,設定此選項後可以追加底下的功能
a保護驗證機制不會受到主動式攻擊(嘗試錯誤攻擊)
c要求 client 提供憑證
d不允許驗證機制受到被動式字典攻擊法的感染(有系統的竊取加密密碼)
f對每條連線採取隱密措施,破解一條連線並不能破解其它連線
p不允許驗證機制受到被動式攻擊法的感染(竊取未加密密碼)
y不允許採用可以匿名登入的驗證機制

B. Outlook Express 錯誤代碼表

錯誤碼意義
一般 
0x800C0131
0x800C013E
可能是 Folders.dbx 檔案屬性錯誤或損壞,請參考:收信正常,但要送信時卻出現這個程式執行無效即將關閉...
0x800CCC00身份驗證(Authentication)未載入
0x800CCC01認證(Certificate)內容錯誤
0x800CCC02認證日期錯誤
0x800CCC03使用者已連線
0x800CCC05 未連線到伺服器
0x800CCC0A郵線下載未完成
0x800CCC0B伺服器忙碌中
0x800CCC0D找不到主機(檢查你的SMTP伺服器是不是設錯,亦可能是對方Server 的問題,例如 Mail Server 沒有開機、對方的DNS 伺服器死掉了等等)
0x800CCC0E連線到伺服器失敗,無法與主機建立連線。可能對方主機正在維護中、或是網路連線品質不好、伺服器關機、郵件伺服器尚未啟動等等,等一段時間再試。

如果你的防毒軟體有類似「電子郵件防護」這類的功能,建議先關閉「電子郵件防護」再做收發郵件的測試,從經驗中得知,有時會因為防毒軟體的「電子郵件防護」的干擾,會產生不能收發郵件的情形。

0x800CCC0F伺服器結束連線(對方伺服器負荷過重、網路傳輸壅塞易造成此現象,可以試著增加你連線逾時的等候時間試試看,或是換一連線品質較佳的 ISP)
0x800CCC10伺服器無法辨認此郵件位址
0x800CCC11伺服器無法辨認的 Mailing list
0x800CCC12 無法傳送 Winsock request
0x800CCC13 無法接收 Winsock reply
0x800CCC14無法起始 Winsock
0x800CCC15無法開啟 Windows Socket
0x800CCC16無法辨認使用者帳號,使用者帳號錯誤
0x800CCC17 使用者中斷操作
0x800CCC18登入失敗
(例如:不需要安全密碼認證登入,但卻設了安全密碼認證登入)
0x800CCC19 作業逾時
0x800CCC1A無法以 SSL 建立連線
Winsock 錯誤 
0x800CCC40Network subsystem 無法使用
0x800CCC41 Windows Sockets 不支援此應用程式
0x800CCC43Bad address.
0x800CCC44Windows Sockets 無法載入
0x800CCC45Operation now in progress.. 
SMTP 錯誤 
0x800CCC60不合法的回應
0x800CCC61不明的錯誤代碼
0x800CCC62收到語法錯誤
0x800CCC63語法參數不正確
0x800CCC64指令不完整
0x800CCC65 不正確的指令序列
0x800CCC66指令不完整
0x800CCC67 沒有這個指令
0x800CCC68郵件信箱被鎖住或忙碌中
0x800CCC69 找不到郵件信箱
0x800CCC6A處理要求錯誤
0x800CCC6B 郵件信箱不在此伺服器上
0x800CCC6C已無空間儲存郵件
0x800CCC6D已超過限制的儲存容量上限 
0x800CCC6E 不合法的郵件信箱名稱
0x800CCC6FTransaction error,出現這訊息,可能是伺服器不接受你的郵件,請跟你的 ISP 聯絡。
0x800CCC78不明的寄件者,或郵件回覆(reply-to)地址不正確,或需要身分認證﹙Yahoo 郵件需要 SMTP 認證﹚。
0x800CCC79收件者被伺服器拒絕(Relay Denied:最常發生於 Outlook Express 的 SMTP 設定不正確,請使用提供你連線服務的ISP公司之SMTP伺服器來寄信,)
0x800CCC7A沒有指定寄件者
0x800CCC7B沒有指定收件者
POP3 錯誤 
0x800CCC90登入郵件伺服器發生錯誤,檢查一下你是不是有使用該伺服器的權限。或者:不需要安全密碼認證登入,但卻設了安全密碼認證登入
0x800CCC91使用者名稱錯誤或找不到此使用者
0x800CCC92 帳號、密碼錯誤
0x800CCC93無法解釋回應
0x800CCC94 需要指令
0x800CCC95伺服器上已無郵件
0x800CCC96沒有郵件標記為要下載
0x800CCC97 Message ID 超出範圍
NNTP 錯誤 
0x800CCCA0 新聞伺服器回應錯誤,可能你沒有擁有可使用該伺服器的權限。
0x800CCCA1讀取新聞群組失敗
0x800CCCA2要求伺服器郵件清單失敗
0x800CCCA3無法顯示清單
0x800CCCA4無法開啟群組
0x800CCCA5 伺服器無此群組
0x800CCCA6郵件不在伺服器上
0x800CCCA7找不到件標題
0x800CCCA8找不到郵件本文
0x800CCCA9無法發佈到伺服器上
0x800CCCAA無法開啟下封郵件
0x800CCCAB無法顯示日期
0x800CCCAC無法顯示標題
0x800CCCAD無法顯示 MIME 標題
0x800CCCAE 使用者名稱或密碼不正確
RAS 錯誤 
0x800CCCC2未安裝撥號網路
0x800CCCC3找不到撥號網路
0x800CCCC4撥號網路錯誤
0x800CCCC5 Connectoid 壞或遺失
0x800CCCC6取得撥號設定時錯誤
IMAP 錯誤 
0x800CCCD1 登入失敗
0x800CCCD2 Message tagged
0x800CCCD3Invalid response to request.
0x800CCCD4 語法錯誤
0x800CCCD5不是 IMAP 伺服器
0x800CCCD6 Buffer 已超過上限
0x800CCCD7Recovery error
0x800CCCD8 資料不完整
0x800CCCD9連線被拒
0x800CCCDA不明的回應
0x800CCCDBUser ID 已更改
0x800CCCDCUser ID 指令失敗
0x800CCCDDUnexpected disconnect
0x800CCCDEInvalid server state
0x800CCCDF 無法認證用戶端

C. HTTP 回應狀態碼

底下是 HTTP 回應狀態碼的涵義與說明(RFC 2068),注意:下文所說的 Client 有可能是 Proxy Server(精確的講是一個 user agent 或瀏覽器,Server 則有可能是 Web Server Proxy Server,由於 Proxy 介於瀏覽器與網頁伺服器之間因此同時扮演兩種角色

分類狀態碼說明
資訊100 Continue催促 Client 送出後續要求,當 Client 提出的請求不完整時會產生此訊息(當 Client 上傳大檔案時,會將檔案切細再傳,Server 回應此訊息告訴 Client:前面部分已收到,請繼續送出後續資料)
101 Switching ProtocolsServer 接受 Client 變更應用層通訊協定的請求,用來回應 Client 端送來的 OPTIONS 請求
完成200 OKClient 的請求已被接受並處理,僅用來回應 GETHEADPOSTTRACE 請求
201 Created新網頁已經建立,僅用來回應 PUT 請求
202 AcceptedServer 已接收請求,但處理需要時間完成,Client 可以斷線不用等待
203 Non-Authoritative InformationClient 端送出的請求未包含 Web-Authoritative 標頭,送出此回應後瀏覽器會要求使用者登入
204 No Content處理 Client 端的請求僅需回覆標頭時,Server 會回覆此訊息
205 Reset ContentClient 端要求重設表單資料,Server 已接受並清除上次上傳的資料
206 Partial Content因為頻寬限制,Server 將較大的網頁或檔案分次傳送,由於僅能傳輸部分內容,因此以此訊息通知 Client 資料尚未傳完
轉向300 Multiple Choices要求的網頁提供多重選擇,Client 可以根據參觀者的需要選取適合的網頁(多語系支援)
301 Moved Permanently要求的網頁已經永久改變網址了,Server 會以 Location: 標頭告知新網址
302 Found要求的網頁暫時改變網址,Client 下次連線時應優先嘗試原網址。由於 RFC 1945 2068 禁止 Client 在網頁重導向時變更指令(POST 變成 GET),因此是否須變更指令必須由 Server 告知,為了釐清此需求,多增加了兩個回應訊息 303 307 (前者要變,後者不變)
303 See Other通知 Client 連到另一個網址去查看上傳表單的結果(POST 變成 GET),當使用程式作網頁轉向時,會回應此訊息
304 Not Modified網頁 Expired 標頭顯示已過期,因此 Client 要求 reload 該網頁,但其內容並沒有變更,回應附加標頭的 GET 請求
305 Use Proxy要求的網頁必須透過 Server 指定的 proxy 才能觀看
306 (Unused)1.0 版使用,現在已經取消不用
307 Temporary Redirect要求的網頁暫時改變網址,Client 下次連線時應優先嘗試原網址(設計用來取代 302,但因為有些 Client 僅支援 1.0 版,因此 302 還是保留)


端錯誤
400 Bad RequestServer 看不懂 Client 的請求,通常是語法錯誤、打錯字或打成小寫
401 Unauthorized該網頁必須通過使用者驗證才能取得(另外,當 Client 上傳的檔案太大時,Server 可以回應此訊息拒收)
402 Payment Required預計給新版本用的
403 Forbidden權限不足因此 Client 的請求被拒絕
404 Not FoundClient 嘗試連結的網頁不存在
405 Method Not Allowed該目錄禁止使用 Client 送來的指令
406 Not Acceptable該網頁含有 Client 無法支援的語系、字元集、編碼方式或多媒體串流格式時,Server 以此訊息回應
407 Proxy Authentication Required類似於 401,但這是給 Proxy 使用的,當 Client 透過 Proxy 觀看某些特定網頁時,Proxy 會要求先通過認證(配合 305 來使用,可以讓眾多站台統一透過同一台 Proxy 進行會員管理)
408 Request TimeoutServer 苦等不到 Client 送來的請求
409 Conflict當版本管理被啟用,而 Client 要求 PUT 的網頁正被修改中(Locked)或網頁版本比現有的還舊,Server 將回應此訊息,請參考 FrontPage Server Extension 中的版本管理功能
410 Gone該網頁已遷移,但不知道移去哪裡
411 Length RequiredClient 上傳的表單資料(或檔案)沒有計算大小,Server 拒絕接受
412 Precondition FailedClient 提出的請求中某些標頭所設定的值,經測試後無法正確執行
413 Request Entity Too LargeClient 一次送出的請求太多,Server 無法處理逕行斷線
414 Request-URI Too LongClient 上傳資料的標頭,包含太多資訊,Server 無法處理
415 Unsupported Media TypeServer 不支援 Client 要求的檔案類型(譬如:某些 third-party 開發的 Server 不支援 JAVA
416 Requested Range Not SatisfiableClient 對某個多媒體串流提出下載某範圍內容的要求,但 Server 無法提供時必須回應此訊息(該串流必須從頭觀看)
417 Expectation Failed某些先進的 Server 支援獨家的標頭(例如:Netscape Enterprise),當 Client 要求這類的延伸標頭而伺服器不支援時,應該回覆此訊息


端錯誤
500 Internal Server Error無法預期錯誤(通常是 CGI 程式語法錯誤造成)
501 Not ImplementedClient 所要求的指令在 Server 上沒有被實作出來
502 Bad Gateway Proxy 從上游伺服器得到的回應無法辨識時,回應此訊息給 Client
503 Service Unavailable伺服器因為系統維護或負載太重,無法提供服務
504 Gateway Timeout Proxy 無法從上游伺服器取得 Client 要求的網頁時,回覆此訊息給 Client
505 HTTP Version Not SupportedServer 不能支援或不想支援 Client 提出的指令版本
来顶一下
近回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
相关文章
    无相关信息
栏目更新
栏目热门