aboutsummaryrefslogblamecommitdiff
path: root/ja_JP.eucJP/man/man8/inetd.8
blob: 1af83d60188741a54a9c7b1279790cb1eba309c2 (plain) (tree)































                                                                              
                                                                                
   
                                                                                        

                    
   




                  
   

        

        

                   
                              
                    
                




                         
                    











                                                                
                                                                 










                                                    
                              
        
                                                  
                                                     
                    


                        
                                                            
                   

                                                                  
                                                                         
                

                                                                          


                                                            
                
                                                                       
                                                        
        
                                           





























                                                                        
        
                                                                






                                                  
                                                                 
                                                    


                





                                                 

                                                                 



                    
             











                                                                

                                                 
                                                            


                                                  









                                                         



                                                          



                 


                                              




                                      
                                    
             




                                                         
                                                    
























                                                              


                           







                            


                    



       
          














                                                                    


                                               












                                                                      

           
           

                        




                                    




















                                                                      
                                                                   


























                                                              
                                                                     






                                                            








                                                                      
                                                                              



                                           
                                                                           


                                    

                                                        
   
            

                                                      

              


            


                                                              





                                      






                                          
                                                                            






                                                                      
                                                                    


                  


              







                                                               
                    
            











                                                              
                                                             











                                                            


                          

                                        


                     
                                                                              

                                            




                                                            

                                                                      



                                                        




                                                                  




                                      



                      

                  
                              

              

   
   
                                                                        

















                                                                        







                                                                           


                            


                                                                
                                  


     
                                
   
  
          
                                    










                                                        
                  
                








                            
                               





                                  
                                                                
                                              
        

                                 
     
                                  
        
                                            







                                                    


                                

                                                            
        
                    
   


                                                 



                                                                        
        


                                        
          
            



                                                                 
                                                              






                                                                 


                    
   
                                         










                                                    






















                                                                      


























































                                                                        













                                                 





                                                                        

                                                                     


                                                                           
                                                


                                                











                                      
                                                   
   
                                                                 










                                                              
                                            



























                                                
                                                  
                                                  





















                                                                
                        

                     
                  





                

               
               


               




                           











                                                                  
                                                             
   


                                            
.\" Copyright (c) 1985, 1991, 1993, 1994
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"     from: @(#)inetd.8	8.3 (Berkeley) 4/13/94
.\" %FreeBSD: src/usr.sbin/inetd/inetd.8,v 1.46.2.9 2001/08/16 15:55:59 ru Exp %
.\"
.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/inetd.8,v 1.22 2001/07/22 23:09:22 horikawa Exp $
.Dd February 7, 1996
.Dt INETD 8
.Os
.Sh 名称
.Nm inetd
.Nd インターネット
.Dq スーパサーバ
.Sh 書式
.Nm
.Op Fl d
.Op Fl l
.Op Fl w
.Op Fl W
.Op Fl c Ar maximum
.Op Fl C Ar rate
.Op Fl a Ar address | hostname
.Op Fl p Ar filename
.Op Fl R Ar rate
.Op Ar configuration file
.Sh 解説
.Nm
は、ブート時に
.Pa /etc/rc
の中で起動されます (
.Xr rc 8
参照)。起動されると、
.Nm
は定められたインターネットソケットを監視し、接続要求を待ちます。
監視しているソケットに対して接続要求が出されると、
.Nm
はそのソケットに対応したサービスを
判定し、サービスを提供するプログラムを起動します。
サーバプログラムはサービスソケットを標準入力・標準出力・
エラー出力として起動されます。
サービスプログラムが完了すると、
.Nm
は再びソケットの監視を行ないます (後述するような例外もあります)。
.Nm
を用いれば 1 つのデーモンで
複数のサービスプログラムを起動することができるので、
システムの負荷を軽減することができます。
.Pp
.Nm
は、起動時に以下のオプションを指定できます。
.Bl -tag -width indent
.It Fl d
デバッグモードにします。
.It Fl l
成功した接続のログをとります。
.It Fl w
外部サービスに対して TCP Wrapping をオンにします。
TCP Wrappers サポートについての更なる情報については、
.Sx "実装に関する注"
の節を参照してください。
.It Fl W
.Nm
組み込みの内部サービスに対して TCP Wrapping をオンにします。
.It Fl c Ar maximum
同時に起動可能なサービスの、デフォルトにおける最大値を指定します。
デフォルトでは、無制限です。
サービスごとに指定される "max-child" パラメータによって上書きされ得ます。
.It Fl C Ar rate
1 分間に単一の IP アドレスから起動されるサービスのデフォルトにおける最大値
を指定します。
デフォルトは未設定です。
サービスごとに指定される "max-connections-per-ip-per-minute"
パラメータによって上書きされ得ます。
.It Fl R Ar rate
1 分間に起動できる最大のサービス数を指定します。デフォルトは 256 です。
rate に 0 を指定すると、起動可能な数は無制限になります。
.It Fl a
バインドする IP アドレスを 1 個指定します。
代りに、ホスト名を指定可能です。
この場合、ホスト名に対応する IPv4 または IPv6 のアドレスが使用されます。
通常、
.Nm
が
.Xr jail 8
内で起動される時点で、ホスト名が指定されます。
この場合、ホスト名は
.Xr jail 8
環境に対応するものです。
.Pp
ホスト名指定が使用され、IPv4 および IPv6 両方のバインドを望む場合、
.Pa /etc/inetd.conf
の各サービスに対して、
各バインドに対する適切な
.Em プロトコル
のエントリが必要です。
例えば TCP ベースのサービスは 2 エントリが必要であり、
ひとつは
.Em プロトコル
に
.Dq tcp4
を使用し、もうひとつは
.Dq tcp6
を使用します。
後で説明する
.Pa /etc/inetd.conf
の
.Em プロトコル
フィールドを参照してください。
.It Fl p
デフォルトとは異なるプロセス ID を保持するファイルを指定します。
.El
.Pp
.Nm
は実行時に設定情報を設定ファイルから読み込みます。
デフォルトでは設定ファイルは
.Pa /etc/inetd.conf
です。
設定ファイルの各フィールドにはエントリが 1 つなければなりません。
各フィールドのエントリはタブやスペースで区切ります。
コメントは行頭に
.Dq #
をつけます。
設定ファイルのフィールドは以下のものからなります:
.Pp
.Bd -unfilled -offset indent -compact
サービス名
ソケットタイプ
プロトコル
{wait|nowait}[/最大子プロセス数[/IPあたりの分あたりの最大接続数]]
ユーザ名[:クループ名][/ログインクラス名]
サーバプログラム名
サーバプログラム引数
.Ed
.Pp
.Tn "ONC RPC"
ベースのサービスを記述する場合には、以下のエントリを記述します。
.Pp
.Bd -unfilled -offset indent -compact
サービス名/バージョン
ソケットタイプ
RPC/プロトコル
ユーザ名
サーバプログラム名
サーバプログラム引数
.Ed
.Pp
.Nm
が起動することのできるサービスは 2 種類あります。
1 つは標準で、もう 1 つは TCPMUX です。
標準サービスには割り当てられた well-known ポートがあります。
これは公式のインターネット標準を実装したサービスや
.Bx
特有のサービスです。
.Tn RFC 1078
に書かれているように、TCPMUX は非標準サービスであり、
well-known ポートが割り当てられていません。
そういった非標準サービスは、あるプログラムが
.Dq tcpmux
well-known ポートに接続してそのサービス名を指定したとき、
.Nm
によって起動されます。
この機能はローカルに開発されたサーバを追加するときに
便利です。
TCPMUX リクエストが受理されるのは、
TCPMUX ベースのサーバに至るまでにおいて、
マルチプレクササービス自身が有効にされているときのみです。
後述の内部サービスに関する議論を参照してください。
.Pp
.Em サービス名
のエントリには、
.Pa /etc/services
ファイルに記述されているサービス名か、
.Ux
ドメインソケット (後述) の指定が記述されます。
.Dq 内部
サービス (後述) については、
名前としてそのサービスのオフィシャル名
(すなわち
.Pa /etc/services
内の最初のエントリ) を指定すべきです
.Tn "ONC RPC"
ベースのサービスを指定するためには、このフィールドは
.Pa /etc/rpc
に書かれた有効な RPC サービス名でなければなりません。
.Dq /
の右の部分が RPC のバージョン番号です。バージョン番号は、
数字もしくは、バージョンの幅 (レンジ) で指定します。
幅を指定する場合は低い番号から高い番号を指定します。たとえば
.Dq rusers/1-3
のように記述します。
TCPMUX サービスでは、
.Em サービス名
のフィールドは、文字列
.Dq tcpmux
、スラッシュ、そしてローカルに選ばれたサービス名から
なります。
.Pa /etc/services
に書かれたサービス名と
.Dq help
は予約済であり、ローカルなサービス名には使用できません。
TCPMUX サービスのためにユニークな名前をつけるには、
頭に組織名をつけ、末尾にバージョン番号をつけるとよいでしょう。
.Pp
.Em ソケットタイプ
のエントリは、
.Dq stream ,
.Dq dgram ,
.Dq raw ,
.Dq rdm ,
.Dq seqpacket
のいずれかである必要があります。それぞれ、ソケットが
stream,
datagram,
raw,
reliably delivered message,
sequenced packet socket
である場合に対応しています。
TCPMUX サービスは
.Dq stream
を使わなければなりません。
.Pp
.Em プロトコル
のエントリには、
有効なプロトコル名か
.Dq unix
が記述されます。
例えば
.Dq tcp
や
.Dq udp
などです。
この場合、後方互換性のため、暗黙的に本エントリは IPv4 を意味します。
名前
.Dq tcp4 ,
.Dq udp4
は、IPv4 のみを指定します。
名前
.Dq tcp6 ,
.Dq udp6
は、IPv6 のみを指定します。
名前
.Dq tcp46 ,
.Dq udp46
は、エントリに IPv6 とワイルドカード
.Dv AF_INET6
ソケット経由の IPv6 の両方を受理させます。
サービスが T/TCP 経由で到達可能とするためには、
.Dq tcp/ttcp
を指定する必要があります。
後方互換性のため、暗黙的に本エントリは IPv4 を意味します。
名前
.Dq tcp4/ttcp
は、IPv4 のみを指定し、
名前
.Dq tcp6/ttcp
は、IPv6 のみを指定します。
名前
.Dq tcp46/ttcp
は、エントリに IPv6 とワイルドカード
.Dv AF_INET6
ソケット経由の IPv6 の両方を受理させます。
RPC ベースのサービス (現在のところ IPv4 のみサポートされます) の場合、
.Dq rpc/tcp
や
.Dq rpc/udp
のような指定になります。
TCPMUX サービスは
.Dq tcp ,
.Dq tcp4 ,
.Dq tcp6 ,
.Dq tcp46
のいずれかを使用する必要があります。
.Pp
.Em wait/nowait
エントリは、
.Nm
によって起動されたサーバがサービスアクセスポイントに
関連付けられたソケットを引き継ぐかどうか、すなわちサーバが終了するまで
.Nm
が新しいサービス要求を監視するのを待つ必要があるか否かを
指定します。
datagram サーバは、特定のサービスアドレスと結び付いた
datagram ソケットで毎回起動されるため、
.Dq wait
を使わなければなりません。こういったサーバは、終了する前に少なくとも
1 データグラムをソケットから読まなければなりません。
もし datagram サーバが相手に接続したときソケットを
開放するなら、
.Nm
はソケットに対するメッセージをさらに受けることができます。
このようなサーバは
.Dq マルチスレッド
サーバと呼ばれます。
サーバはソケットから datagram を 1 つ読み込み、相手に接続する新しい
ソケットをつくります。
サーバは fork() を行い、親プロセス側は終了なければいけません。
これにより
.Nm
は新しいサービス要求をチェックし、新しいサーバを起動することが
できるようになります。
入って来る全ての datagram を処理し、
時間切れまで動作する datagram サーバは、
.Dq シングルスレッド
サーバと呼ばれます。
.Xr comsat 8 ,
.Pq Xr biff 1 ,
.Xr talkd 8
は後者のタイプの datagram サーバの例です。
.Xr tftpd 8
はマルチスレッドで動く datagram サーバの例です。
.Pp
stream ソケットを使うサーバは一般にマルチスレッドで動き
.Dq nowait
エントリを使います。
こういったサーバへの接続要求は
.Nm
で受け付けられ、新たに受理し、クライアントにつながった
ソケットのみがサーバに与えられます。
多くの stream ベースのサービスはこのように行われます。
.Dq wait
エントリを使う stream ベースのサーバは、
サービスのソケットを監視し、少なくとも 1 つの接続要求を受け入れてから
終了しなければなりません。
そういったサーバは通常、時間切れとなるまで、入って来る要求を
受け付け処理します。
TCPMUX サービスは
.Dq nowait
を使わなければなりません。
.Pp
.Dq nowait
サービスの子プロセス (あるいは
.Dq スレッド
) の最大数は、
.Dq nowait
キーワードの後に
.Dq /
と数字を付け加えることで指定できます。
通常 (あるいは 0 が指定された場合)、子プロセスの数に制限はありません。
一方、最大数に達すると、それ以降の接続要求は、存在する子プロセスが終了するまで
待ち行列に蓄えられます。これは、
.Dq wait
モードでも同様ですが、通常は
1 (デフォルトの値) 以外は意味がありません。
指定した IP アドレスからの 1 分あたりの最大接続数を指定することも可能です。
この場合、
.Dq /
および最大子プロセス数を指定します。
最大値に達っした場合、指定した IP アドレスからの接続は、
この 1 分が経過するまで、落とされます。
.Pp
.Em ユーザ名
エントリには、サーバを実行するユーザ名を書きます。
これによりサーバを root よりも低い権限で実行できます。
オプションの
.Em グループ名
部分は
.Dq \&:
で分けられ、
このユーザのデフォルトグループ以外のグループ名を指定可能です。
オプションの
.Em ログインクラス名
部分は
.Dq /
で分けられ、
デフォルトの
.Dq daemon
以外のログインクラス名を指定可能です。
.Pp
.Em サーバプログラム名
のエントリには、ソケットに要求があったとき
.Nm
が起動し、当該エントリのサービスを提供する
サーバプログラムのパス名を指定します。
.Nm
内部にすでに実装されているサービスを提供する場合には、サーバプログラムとして
.Dq internal
を指定します。
.Pp
.Em サーバプログラム引数
のエントリは、サーバを起動する際の引数を、サーバプログラムの起動文字列
である argv[0] を含めて記述します。
.Nm
内部に実装されているサービスを提供する場合には、サーバプログラム引数
として、サービスの
.Em サービス名
(と引数) または語
.Dq internal
を指定します。
.Pp
現在、引数を取る内部サービスは
.Dq auth
のみです。
オプション無しだと、このサービスは常に
.Dq ERROR\ : HIDDEN-USER
を返します。
このサービスの動作を変更するために使用可能な引数は次の通りです:
.Bl -tag -width indent
.It Fl d Ar fallback
.Ar fallback
ユーザ名を指定します。
本物の
.Dq auth
サービスが (後述の
.Fl r
オプションで) 有効になっている場合、
ソケットの credential 取得またはユーザ名検索に失敗したときに、
エラーを返す代りにこのユーザ名を返します。
本物の
.Dq auth
サービスが無効になっている場合、
すべての要求に対してこのユーザ名を返します。
主に、本サービスを NAT マシン上で実行しているときに有用です。
.It Fl g
ident 要求者にユーザ名を返す代りに、
アルファベットと数字からなるランダムなユーザ名を報告します。
例えば
.Dq c0c993
です。
.Fl g
フラグは、ユーザ名に優先するだけでなく、
.Pa .fakeid
や
.Pa .noident
のファイルにも優先します。
.It Fl t Xo
.Ar sec Ns Op . Ns Ar usec
.Xc
サービスのタイムアウトを指定します。
デフォルトのタイムアウトは 10.0 秒です。
.It Fl r
RFC 1413 にある、真の
.Dq auth
サービスを提供します。残りのすべてのフラグが使用されるのは、この場合のみです。
.It Fl i
ユーザ名の代りに数値のユーザ ID を返します。
.It Fl f
識別されるユーザのホームディレクトリに
.Pa .fakeid
というファイルがある場合、
本当のユーザ名の代りにそのファイル中のユーザ名を報告します。
.Pa .fakeid
中のユーザ名が実在するユーザのものの場合、本当のユーザ名を報告します。
.Fl i
が共に指定されると、
.Pa .fakeid
中のユーザ名が既存のユーザ ID の代りにチェックされます。
.It Fl F
.Fl f
と同じですが、
.Pa .fakeid
が実在するユーザ名にマッチしてはならないという制約が除外されます。
.It Fl n
識別されるユーザのホームディレクトリに
.Pa .noident
というファイルがある場合、
.Dq ERROR\ : HIDDEN-USER
を返します。
これは、
.Pa fakeid
ファイルに優先します。
.It Fl o Ar osname
.Xr uname 3
が報告するシステム名の代りに、
.Ar osname
を使用します。
.El
.Pp
.Nm
プログラムはまた、内部ルーチンを用いて簡単なサービスを自身で提供します。
これらのサービスとは
.Dq echo ,
.Dq discard ,
.Dq chargen
(文字生成),
.Dq daytime
(人間が読む形式で時間を出力します),
.Dq time
(機械可読形式の時間。1900 年 1 月 1 日 0 時からの経過秒数を出力します)
です。
これらのサービスは TCP と UDP バージョンのいずれでも利用できます。
UDP バージョンは返事のポートとして内部サービスに相当するポートを
要求されたとき、サービスを拒否します。
(これはループ攻撃に対する防護です。リモート IP アドレスは記録されます。)
これらのサービスの詳細については適当な
.Tn RFC
ドキュメントを参照して下さい。
.Pp
TCPMUX のデマルチプレクスサービスもまた内部サービスとして実装されています。
TCPMUX ベースのサービスを動作させるためには、以下の行を
.Pa inetd.conf
に含む必要があります:
.Bd -literal -offset indent
tcpmux	stream	tcp	nowait	root	internal
.Ed
.Pp
.Fl l
オプションが指定された場合、
.Nm
は接続を受け付けるたび、エントリを syslog に記録します。
この際、利用可能であれば、
選択されたサービスと要求を発したリモートの IP 番号を記録します。
設定ファイルで他に指定しておらず、
.Fl W
と
.Fl w
のオプションを指定していないと、
.Nm
は
.Dq daemon
ファシリティに対してログ出力します。
.Pp
.Dv SIGHUP
を受けとると、
.Nm
は、設定ファイルを再度読み込みます。設定ファイルを
再読み込みするとき、サービスを追加、削除、変更できます。
デバッグモードで起動された場合をのぞき、
.Nm
は再設定を容易にするために、プロセス ID を
.Pa /var/run/inetd.pid
に記録します。
.Sh 実装に関する注
.Ss TCP Wrappers
.Fl w
オプションが指定されたとき、
.Dq stream nowait
または
.Dq dgram
と指定さた全サービスのうち
.Dq 内部
サービス以外を、
.Nm
はラッピングします (包みます)。
.Fl W
オプションが指定されると、
前述の条件の
.Dq 内部
サービスがラッピングされます。
両方のオプションが指定された場合、
内部サービスと外部サービスの両方をラッピングするようになります。
どちらのラッピングオプションも、失敗した接続を
.Dq auth
syslog ファシリティでログします。
ラッピングオプションに
.Fl l
フラグを追加すると、成功した接続も
.Dq auth
ファシリティへのログに含めるようになります。
.Pp
.Dq wait
サービスに対する要求は、
サービス要求に対するサーバが無い間のみ
.Nm
はラッピングすることに注意してください。
このようなサービスに対してひとたび接続が許されると、
接続要求に対して listen するサーバが無くなるまで、
このサービスに対する後続の接続を
.Nm
は制御できません。
.Pp
ラッピングが有効にされた場合、この機能は組み込みであるため、
.Pa tcpd
デーモンは不要です。
.Pp
TCP Wrappers についての更なる情報は、関連する文書
.Pq Xr hosts_access 5
を参照してください。
この文書を読むときには、
.Dq 内部
サービスに対しては、関連するデーモン名は無いことを覚えておいてください。
このような理由で、
.Dq 内部
サービスのデーモン名としては、
.Pa inetd.conf
で指定されるサービス名を使用すべきです。
.Ss TCPMUX
.Tn RFC 1078
は TCPMUX プロトコルについて述べています。
「 TCP クライアントは他のホストに TCP ポート番号 1 で接続します。
クライアントは、サービス名に<CRLF>を付加して送ります。
サービス名は大文字/小文字を区別しません。
サーバは、肯定 (+) もしくは否定 (\-) を表す 1 文字を返します。
+ あるいは \- のすぐ後にメッセージが続く場合があります。
返答は <CRLF> で終わります。もし返答が肯定で
あれば、選択されたプロトコルが開始されます。
そうでなければ接続は切られます。」
プログラムにはファイルディスクプリタ 0 と 1 で TCP コネクションが
渡されます。
.Pp
TCPMUX サービス名が
.Dq +
で始まっているとき、
.Nm
は、プログラムに肯定返答 (+) を返します。
これによって、
特別なサーバコードを追加することなく
標準入出力を使うプログラムを起動することができます。
.Pp
特別なサービス名である
.Dq help
により、
.Nm
は
.Pa inetd.conf
にある TCPMUX サービスの一覧を出力します。
.Ss IPsec
本実装は、各ソケットに対する IPsec ポリシ設定のサポートのための
ちょっとしたハックを含みます。
.Dq Li #@
から開始する特別な形式のコメント行が、ポリシ指示子として解釈されます。
.Dq Li #@
の後のすべてが、
.Xr ipsec_set_policy 3
に記述されているように、IPsec ポリシ文字列として使用されます。
各ポリシ指定子は、
.Pa inetd.conf
中で後続するすべての行に適用され、
これは次のポリシ指定子が登場するまで続きます。
空のポリシ指定子は、IPsec ポリシをリセットします。
.Pp
不正な IPsec ポリシ文字列が
.Pa inetd.conf
にあると、
.Nm
は
.Xr syslog 3
インタフェースを使用して
エラーメッセージを残し、終了します。
.Ss Ux ドメインソケット
サービスを IP ソケット上で動作させることに加え、
.Nm
は
.Ux
ドメインソケットも扱えます。
このためには
.Em プロトコル
に
.Dq unix
を指定し、
.Ux
ドメインソケットを
.Em サービス名
として指定します。
.Em サービスタイプ
は
.Dq stream
か
.Dq dgram
のいずれかです。
ソケットの指定は、絶対パス名であることが必要であり、
.Em :user:group:mode:
の形式で所有者とモードを前に付けることが可能です。
.Pp
.Dl ":news:daemon:220:/var/run/sock"
.Pp
という指定は、所有者が
.Dq news
でグループが
.Dq daemon
で所有者とグループのみに接続を許可するソケットを作成します。
デフォルトの所有者は、
.Nm
を実行しているユーザです。
デフォルトのモードは、
ソケットの所有者のみに接続を許可するというものです。
.Pp
.Sy 警告 :
.Ux
ドメインソケットの作成中に、
.Nm
はソケットの所有者とパーミッションを変更する必要があります。
これが安全に行われるのは、
ソケットが作成されるディレクトリが root のみ書き込み可能な場合だけです。
.Nm
を使用して、
.Pa /tmp
等の誰でも書き込み可能なディレクトリにソケットを作成し
.Em ない
でください。
代りに、
.Pa /var/run
等のディレクトリと使用してください。
.Pp
内部サービスは、通常通り、
.Ux
ドメインソケットでも実行可能です。
この場合、ソケットのパス名の最後の部分から内部サービス名が判定されます。
.Sh 関連ファイル
.Bl -tag -width /var/run/inetd.pid -compact
.It Pa /etc/inetd.conf
設定ファイル
.It Pa /etc/rpc
サービス名を RPC プログラム番号に変換するテーブル
.It Pa /etc/services
サービス名をポート番号に変換するテーブル
.It Pa /var/run/inetd.pid
現在実行中の
.Nm
の pid
.El
.Sh 使用例
次に、いくつかのサービスについて
サービスエントリの
例を挙げておきます。
.Bd -literal
ftp          stream  tcp   nowait root  /usr/libexec/ftpd        ftpd -l
ntalk        dgram   udp   wait   root  /usr/libexec/ntalkd      ntalkd
telnet       stream  tcp6  nowait root  /usr/libexec/telnetd  telnetd
shell        stream  tcp46  nowait root  /usr/libexec/rshd rshd
tcpmux/+date stream  tcp   nowait guest /bin/date                date
tcpmux/phonebook stream tcp nowait guest /usr/local/bin/phonebook phonebook
rstatd/1-3   dgram   rpc/udp wait root  /usr/libexec/rpc.rstatd  rpc.rstatd
/var/run/echo stream unix  nowait root	internal
#@ ipsec ah/require
chargen      stream  tcp   nowait root  internal
#@
.Ed
.Sh エラーメッセージ
.Nm
サーバは、
.Xr syslog 3
を使ってエラーメッセージを記録します。
重要なエラーメッセージと
その説明は以下の通りです。
.Pp
.Bl -ohang -compact
.It Xo
.Ar service Ns / Ns Ar protocol
.No "server failing (looping), service terminated."
.Xc
直前の 1 分間に、そのサービスについての要求数が制限に達しました。
不完全なプログラムや悪意のあるユーザがシステムを
ハングアップさせないために、このような制限が設けられています。
このメッセージが出力される理由はいくつかあります。
.Bl -enum -offset indent
.It
短時間の間に多くのホストがこのサービスを要求している。
.It
不完全なクライアントプログラムがサービスを
頻繁に要求しすぎている。
.It
悪意あるユーザがあるプログラムを起動し、
サービスが '拒否' されるように攻撃している。
.It
起動されたサービスプログラムにエラーがあり、
クライアントがすぐにリトライを起こしてしまう。
.El
.Pp
.Fl R Ar rate
オプションを使うと、制限を変えることができます。
制限に達したとき、10 分経つとサービスは自動的に
再許可されます。
.Pp
.It Xo
.Ar service Ns / Ns Ar protocol :
.No \&No such user
.Ar user ,
.No service ignored
.Xc
.It Xo
.Ar service Ns / Ns Ar protocol :
.No getpwnam :
.Ar user :
.No \&No such user
.Xc
.Xr passwd 5
データベースに
.Ar user
のエントリーがありません。
最初のメッセージは
.Nm
が設定ファイルを (再度) 読み込むときに出されます。
2 つ目のメッセージは、サービスが呼び出されたときに
出されます。
.Pp
.It Xo
.Ar service :
.No can't set uid
.Ar uid
.Xc
.It Xo
.Ar service :
.No can't set gid
.Ar gid
.Xc
.Ar user
フィールドのユーザ ID もしくは グループ IDが
無効です。
.Pp
.It "setsockopt(SO_PRIVSTATE): Operation not supported"
.Nm
はそのソケットに設定されている特権状態を放棄しようとしましたが、
失敗しました。
.El
.Sh 関連項目
.Xr ipsec_set_policy 3 ,
.Xr hosts_access 5 ,
.Xr hosts_options 5 ,
.Xr login.conf 5 ,
.Xr passwd 5 ,
.Xr rpc 5 ,
.Xr services 5 ,
.Xr comsat 8 ,
.Xr fingerd 8 ,
.Xr ftpd 8 ,
.Xr rexecd 8 ,
.Xr rlogind 8 ,
.Xr rpcbind 8 ,
.Xr rshd 8 ,
.Xr telnetd 8 ,
.Xr tftpd 8 ,
.Rs
.%A Michael C. St. Johns
.%T Identification Protocol
.%O RFC1413
.Re
.Sh 歴史
.Nm
コマンドは
.Bx 4.3
から登場しました。
TCPMUX は Mark Lottor によるコードとドキュメントを元にしています。
.Tn "ONC RPC"
ベースのサービスのサポートは、
.Tn SunOS
4.1
が供給されてから、
それにならって作られました。
IPsec のハックは、1999 年に KAME プロジェクトが提供しました。
.Fx
の TCP Wrappers サポートが最初に登場したのは
.Fx 3.2
です。