14.2. TCP 包裹程式(Wrappers)

許多 UNIX 的系統管理員都較習慣使用 TCP 包裹程式來管理某些網路服務的存取。 任何由 xinetd 管理的網路服務(以及含有 libwrap 嵌入式支援的任何程式)都可以使用 TCP 包裹程式來管理存取。 xinetd 可以使用 /etc/hosts.allow/etc/hosts.deny 檔案來設定存取系統的服務。 如名稱所示,hosts.allow 包含了一系列的規則以允許存取由 xinetd 所控制的網路服務,而 hosts.deny 檔案則包含了拒絕存取的規則。 系統將會優先搜尋 hosts.allow 檔案的內容,然後再搜尋 hosts.deny 檔案的內容。 可以基於個別的 IP 位址(或主機名稱)或是一個用戶端的模式來允許或拒絕存取的權限。 請參閱 Red Hat Linux 參考手冊 以及 hosts_access 第 5 部份的 man page(man 5 hosts_access) 以取得更詳細的資訊。

14.2.1. xinetd

如要控制網際網路的存取,請使用 xinetd,它是 inetd 一個較安全的替代品。 xinetd 系統程式包存了系統的資源,並且提供存取控制與紀錄檔案,可以使用它來啟動特殊目的的伺服器。 xinetd 可以使用來提供存取或拒絕存取特定的主機、在某些時間提供服務的存取、限制進來連線的速度或者由這些連線所造成的系統負載等等。

xinetd 會持續性的執行,並聽取它管理的所有連接埠。 當出現一個連線要求其中一個它所管理之服務時,xinetd 便會為該項服務啟動適當的伺服器。

xinetd 的設定檔案是 /etc/xinetd.conf,不過這個檔案只包含了一些預設值,以及一個要含括 /etc/xinetd.d 目錄的指示。 如要啟動或停止一個 xinetd 的服務,請編輯位於 /etc/xinetd.d 目錄下的設定檔案。 假如 disable 屬性設定為 yes,表示該項服務已經停止。 假如 disable 屬性設定為 no,表示該項服務已經啟動。 您可以編輯 xinetd 任何的設定檔案,或使用 系統服務設定工具ntsysvchkconfig 來變更它的啟動狀態。 如要取得 xinetd 所控制的網路服務,請使用 ls /etc/xinetd.d 指令來檢視 /etc/xinetd.d 目錄的內容。