aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man8/rshd.8
blob: bd52178f20584063b4790fcd96b803e1f322276f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
.\" Copyright (c) 1983, 1989, 1991, 1993
.\"	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.
.\"
.\"     @(#)rshd.8	8.1 (Berkeley) 6/4/93
.\"	%Id: rshd.8,v 1.4.2.3 1998/02/18 11:52:19 markm Exp %
.\" jpman %Id: rshd.8,v 1.4 1997/08/10 18:35:56 horikawa Stab %
.\"
.Dd June 4, 1993
.Dt RSHD 8
.Os BSD 4.2
.Sh 名称
.Nm rshd
.Nd リモートシェルのサーバ
.Sh 書式
.Nm rshd
.Op Fl alnL
.Sh 解説
.Nm
は、
.Xr rcmd 3
ルーチンのためのサーバであり、結果として
.Xr rsh 1
の実行のために必要となるサーバです。
.Nm
は、信頼できるホストからの特権ポート番号に基づいた
認証を行なうことによって、プログラムのリモート実行機能を提供します。
.Pp
.Nm
サーバは、``cmd'' サービスに割り当てられたポート (
.Xr services 5
参照) でサービス要求を受け付けます。サービス要求を受信すると、
サーバは以下の手順を開始します:
.Bl -enum
.It
サーバは、クライアントの要求元ポート番号のチェックをおこないます。
要求元ポート番号
が 512 から 1023 の範囲にない場合、サーバは接続を強制切断します。
.It
サーバは、ソケットから
.Tn ヌル
バイト (`\e0') を検出するまで文字を読みます。
受信文字列は、
.Tn ASCII
コードによる 10 進数の数値に変換します。
.It
ステップ 2 で受信した数値が 0 でない場合、その数値を
.Em 標準エラー出力
で使用する 2 番目のストリームのポート番号として解釈します。
そしてクライアントマシン上でも指定されたポート番号の 2 番目の接続を生成します。
この 2 番目の接続の要求元ポート番号も、512 から 1023 の範囲で指定します。
.It
サーバは、クライアントの要求元アドレスをチェックし、該当するホスト名を要求し
ます (
.Xr gethostbyaddr 3 ,
.Xr hosts 5 ,
.Xr named 8
を参照してください)。ホスト名が特定
できない場合、ドット表記法によるホストアドレスを用います。
ホスト名で指定されたホストがサーバと同一の
ドメインに存在する場合 (ドメイン名の最後の 2 つの部分が一致する場合)、
または
.Fl a
オプションが与えられた場合は、ホスト名に対応したアドレスを要求して
名前とアドレスの対応をチェックします。もしこの対応が不正なもので
あった場合、接続を強制切断し、``Host address mismatch.'' の
メッセージを表示します。
.It
最初のソケットを介して、ヌル終端された最大 16 文字の
ユーザ名を取得します。ユーザ名は、
.Em クライアント
マシン上のユーザ識別に使用します。
.It
最初のソケットを介して、ヌル終端された最大 16 文字の
ユーザ名を取得します。ユーザ名は、
.Em サーバ
マシン上のユーザ認証に使用します。
.It
最初のソケットを介して、シェルに渡されるべき、ヌル終端された
コマンドを取得します。コマンド長の制限は、システムの引数リスト
サイズの上限に依存します。
.It
.Nm
は、
.Pa /etc/hosts.equiv
および当該ユーザのホームディレクトリ上に存在する
.Pa .rhosts
ファイルを用いる
.Xr ruserok 3
を使用して、ユーザ認証を行います。
.Fl l
オプションは、ユーザがスーパユーザでない限り、
.Pa .rhosts
ファイルに基づいた
.Xr ruserok 3
のすべての認証をおこなわないようにします。
.It
.Pa /etc/nologin
ファイルが存在し、ユーザがスーパユーザでない場合、接続を
切断します。
nologin ファイルの名前に関しては、
.Pa login.conf
にて
ローカルユーザのログインクラスに関する nologin ケーパビリティが優先します。
ログインクラスは、ログイン時間(times.allow と times.denny ケーパビリティ)
およびリモートホスト(hosts.allow と hosts.denny ケーパビリティ)による
.Xr rsh 1
アクセスの制限にも使われます。
.It
最初のソケットを用いて
.Tn ヌル
バイトを返し、コマンドライン
を、ユーザの通常のログインシェルに渡します。シェルは
.Nm
によって確立されたネットワーク接続を継承します。
.El
.Pp
.Fl n
オプションが与えられないかぎり、トランスポートレベルの keepalive メッセージが
有効になります。keepalive メッセージを使用することによって、
クライアントプロセスが異常終了するか、もしくはネットワーク到達不可に
なった場合にセッションをタイムアウトで終了させることができます。
.Pp
.Fl L
オプションを用いることで、すべての正常なアクセスを 
.Xr syslogd 8
を経由して
.Li auth.info
メッセージとして、ログします。
.Sh 診断
以下に示す例のうち最後のものを除き、
すべての診断メッセージを最初のソケットを用いて返した後、
すべての接続をクローズします。
エラーは、先行する 1 バイトとして値 1 が返されるこ
とでわかります (ログインシェル実行の前のすべてのステップが正常に完了した場合、
上記のステップ 10 の処理で 0 を返します)。
.Bl -tag -width indent
.It Sy Locuser too long.
クライアントマシン上のユーザ名が、16 文字を超えています。
.It Sy Ruser too long.
リモートマシン上のユーザ名が、16 文字を超えています。
.It Sy Command too long.
渡されたコマンドラインの長さが、引数リストの大きさを超えています
(システムに依存します)。
.It Sy Login incorrect.
当該ユーザに関するエントリが、パスワードファイルに登録されていないか、
上述の認証手続きに失敗しました。
.It Sy Remote directory.
ホームディレクトリへの
.Xr chdir 2
巻数が失敗しました。
.It Sy Logins not available right now.
ローカルユーザのログインクラスに対する
.Pa login.conf
において、許された時間以外で
.Xr rsh 1
が試されました。
.It Sy Can't make pipe.
.Em 標準エラー出力
に必要なパイプを作成できませんでした。
.It Sy Can't fork; try again. 
サーバによる
.Xr fork 2
が失敗しました。
.It Sy <shellname>: ...
ユーザのログインシェルを起動できませんでした。本メッセージの出力は
.Em 標準エラー出力
に関連づけられたコネクションを介して返されますので、
フラグバイトは先行しません。
.El
.Sh 関連項目
.Xr rlogin 1 ,
.Xr rsh 1 ,
.Xr gethostbyaddr 3 ,
.Xr rcmd 3 ,
.Xr ruserok 3 ,
.Xr hosts 5 ,
.Xr login.conf 5 ,
.Xr nologin 5 ,
.Xr services 5 ,
.Xr named 8 ,
.Xr rlogind 8 ,
.Xr syslogd 8 .
.Sh 関連ファイル
.Bl -tag -width /etc/hosts -compact
.It Pa /etc/hosts
.It Pa /etc/hosts.equiv
.It Pa /etc/login.conf
.It Pa $HOME/.rhosts
.It Pa /etc/nologin
.El
.Sh バグ
ここで用いられているユーザ認証手順は、各クライアントマシンおよび接続媒体が
信頼できるものと仮定しています。
これは安全ではないですが、``オープン'' な環境下では便利です。
.Pp
全てのデータについて暗号化を行なう機能が実装されるべきです。
.Pp
TELNET のような、もっと拡張性のあるプロトコルが用いられるべきです。