table of contents
inetd(8) | inetd(8) |
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
UNIX系統管理員手冊 |