REXECD
Section: Maintenance Commands (8)
索引
jman
BSD mandoc
索引
名称
rexecd
- リモート実行サーバ
索引
書式
[-i
]
索引
解説
ユーティリティは、
rexec(3)
ルーチンのためのサーバです。
本サーバは、ユーザ名とパスワードに基づいたユーザ認証による、
リモートプロセス実行の環境を提供します。
ユーティリティは、
services(5)
にて ``exec'' サービスが定義されたポートを
監視します。サービス要求を受信した際に、以下のプロトコルが
実行されます。
-
サーバは、ソケットから NUL
(`\0'
)
を受信するまで文字を読みとります。
受信した文字は
ASCII
文字からなる 10 進数の数字として評価されます。
-
ステップ 1 で受信した番号が 0 でない場合、その番号は
stderr
のために用いられる
ストリームのためのポート番号として用いられます。
その後、
第二の接続がクライアントホスト上の指定されたポートとの間に生成されます。
-
NUL で終了する最大 16 文字のユーザ名が最初のソケットより取得されます。
-
NUL で終了する、暗号化が施されていない最大 16 文字のパス
ワードが最初の socket より取得されます。
-
NUL で終了する、シェルに渡されるコマンドが最初の socket より取得
されます。
コマンドの長さは、システムの引数リストの制限を越えない長さに
制限されます。
-
ユーティリティは、次に、ログイン時と同様にユーザの認証を行い、
ユーザ認証が成功した場合、
カレントディレクトリを当該ユーザのホームディレクトリに変更し、
ユーザとグループの保護を行ないます。仮にこれらの段階が失敗した場合、
コネクションを切断し、診断メッセージを返します。
-
NUL 文字が最初のソケットに返却され、コマンドラインは当該ユーザの
通常のログインシェルに渡されます。
シェルは
によって確立されたネットワークコネクションを継承します。
索引
警告
ユーティリティは root のログインを許可しません。
ただし
-i
オプションがコマンド行 (典型的には
/etc/inetd.conf
で指定された場合は除きます。
はまた
/etc/ftpusers
にリストされたユーザでのアクセス、
パスワードの無いユーザのアクセスを許可しません。
これらはすべて重大なセキュリティホールでした。
rexec/rexecd のコンセプトは、メジャーなセキュリティホールと、それをさせない
ための例です。
ユーティリティは
/etc/inetd.conf
ではデフォルトで無効になっています。
索引
診断
以下のリストの最後のものを除き、全ての診断メッセージは、
他のネットワークコネクションが切断された後に、最初の socket を経由して
返却されます。
エラーは、最初のバイトが値 1 であることで示されます
(コマンドの実行に先立つ全てのステップが正常に終了した場合、
上記のステップ 7 で、値 0 が返されます)。
- username too long
-
ユーザ名が 16 文字を越えています。
- password too long
-
パスワードが 16 文字を越えています。
- command too long
-
コマンドラインの長さが (設定されている) システムの引数の長さ制限を越えています。
- Login incorrect.
-
パスワードファイルのエントリに当該ユーザ名がありません。
- Password incorrect.
-
パスワードが不正です。
- remote directory.
-
ホームディレクトリへの
chdir(1)
コマンドが失敗しました。
- Try again.
-
サーバによる
fork(2)
が失敗しました。
- <shellname>: ...
-
ユーザのログインシェルが起動できませんでした。このメッセージは
stderr
のために確立されたコネクションを用いて送信されます。
そして、先頭にフラグバイトがつくことはありません。
索引
関連項目
rexec(3)
索引
バグ
すべてのデータとパスワードを交換する場合に、それらの暗号化を行なう機構が
用意されるべきでしょう。
索引
歴史
ユーティリティは
BSD 4.2
から登場しました。
索引
Index
- 名称
-
- 書式
-
- 解説
-
- 警告
-
- 診断
-
- 関連項目
-
- バグ
-
- 歴史
-
Time: 07:07:44 GMT, January 12, 2009