Provided by: manpages-zh_1.5.2-1_all bug

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