Provided by: manpages-zh_1.6.4.0-1_all
NAME
inetd - 因特網“超級服務”
總覽
inetd - [ -d ] [ -q 佇列長度 ] [ 配置檔名 ]
描述
inetd通常在系統啟動時由/etc/rc.local引導。inetd會監聽指定internet埠是否有連線要求。當發現 有某個埠有連線要求時,inetd將決定由哪個伺服器程序來響應該連線要求,並呼叫該伺服器程式。當 程式執行結束後,inetd會繼續對該埠進行監聽(除了以下所涉及的原因)。從本質上講,inetd可以只 執行一個守護程序,該守護程序可以在需要時呼叫其它服務程序,從而減輕系統負擔。
選項
inetd的可用選項: -d 開啟除錯功能。 -q 佇列長度 設定埠監聽佇列的長度值,預設值為128。
說明
在執行時,inetd會讀取它的配置檔案,預設為/etc/inetd.conf。該配置檔案的每一個欄都有一個條 目,欄中每一項由空格或製表符進行分隔。以井號開頭的是註釋文字。其格式如下所示: service name 服務名 socket type 介面型別 protocol 協議名 wait/nowait[.max] 等待/不等待 user[.group] 使用者/組 server program 伺服器程式 server program arguments 伺服器程式引數 如果定義的是基於Sun-RPC的服務,則將包含有以下內容: service name/version 服務名 socket type 介面型別 rpc/protocol 協議名 wait/nowait[.max] 等待/不等待 user[.group] 使用者/組 server program 伺服器程式 server program arguments 伺服器程式引數 服務名指的是一個在檔案/etc/services中有定義的合法服務。相對區域網而言(下面討論),服務名 須為該服務的官方名稱(即,處於檔案 /etc/services中的第一行)。當定義一個基於Sun-RPC的服務 時,此欄內容須是一個在檔案/etc/rpc中有定義的合法服務名。在斜械右側的是RPC的版本號。此版本 號可以是一個單一數字,也可以是一個從低到高的版本範圍,如:“rusers/1-3”。 介面型別則是“stream”、“dgram”、“raw”、“rdm”或“seqpacket”中的一個,這取決於其資料的型別是什 麼。 協議名須是在檔案/etc/protocols中有定義的合法協議。例如:“tcp”或“udp”。基於RPC的服務可以定 義為:“rpc/tcp”或“rpc/udp”。 等待/不等待欄僅當定義介面型別為datagram時有效(其它介面在這裡都使用“不等待”)。如果希望一 個數據包到達它的同儕後,伺服器立刻釋放埠,使inetd可以繼續監聽此埠,即稱為“多執行緒服 務”,此時該欄須設為“不等待”。如果伺服器都在一個埠傳輸資料包而且不會將此埠釋放,則稱此為“單 一執行緒”,此時應設此欄為“等待”。Comsat(8)和talkd(8)是後一種資料型別的應用。Tftpd(8)則是一 個例外,此資料服務建立的是一個虛擬的連線,為了避免競爭,此處應設為“等待”。伺服器讀在取第一 個資料包後,重新建立一個新的介面供inetd繼續提供監聽使用,而舊的介面將在處理完該任務後將自 動中斷。可選項字尾“max”(與“等待”可“不等待”用逗號分隔)定義inetd在60秒內提供服務的最大程序 數,預設值為 40。 使用者欄應包含可以使用該服務程式使用者的使用者名稱。此選項充許賦於inetd伺服器程式低 於root的許可權。可以在使用者名稱後用逗號分隔加上組名稱,此選項可以使inetd在執行時以所定義 的組身份執行而非/etc/password檔案中定義的身份。如果在此定義了組名而所定義的使用者名稱不 是root 時,該使用者所在組的名字將自動附加到此處。 伺服器程式欄應包含全路徑的伺服器程式名,inetd在監聽到某套接字上有請求時會調過該伺服器程 式。如果某服務由inetd內部提供,則此處應填“internal”。 伺服器程式引數欄中應包含所有伺服器程式執行時必須的各引數。如果服務程式由inetd內部提供,則 此處應填“internal”。 inetd透過內部常規工作,自身也提供一些小的服務。這些服務有 “echo”、“discard”、“chargen”、“daytime”(人類語言)和“time”(以秒為單位的機器語 言,從1900年1月1日零時開始計時)。所有這些服務都是基於tcp的。如想更深一步瞭解這些服務,可 以從網上獲得相關RFC文件。 inetd在接收到SIGHUP掛起訊號後會重新讀取其配置檔案。在重讀配置檔案後,可能增加、減少或改變 已有的服務。inetd在執行時會建立一個/var/run/inetd.pid的檔案用來存放它的程序號。
另見 SEE ALSO
comsat(8), fingerd(8), ftpd(8), rexecd(8), rlogind(8), rshd(8), lnetd(8), tftpd(8)
歷史 HISTORY
inetd 命令最早出現在4.3BSD中。對基於Sun-RPC的服務支援從SunOS 4.1開始。
[中文版維護人]
所羅門 <solomen@email.com.cn>
[中文版最新更新]
2000/11/21
《中國linux論壇man手冊頁翻譯計劃》:
http://cmpp.linuxforum.net
跋
本頁面中文版由中文 man 手冊頁計劃提供。 中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh