rexecd(8) FreeBSD 一般コマンドマニュアル

rexecd

前のページ 上に戻る 次のページ

rexecd




解説

     rexecd は、 rexec(3) ルーチンのためのサーバです。本サーバは、ユーザ名とパ
     スワードに基づいたユーザ認証による、リモートプロセス実行の環境を提供しま
     す。

     rexecd は、 services(5) にて ``exec'' サービスが定義されたポートを監視し
     ます。サービス要求を受信した際に、以下のプロトコルが実行されます。

     1.   サーバは、ソケットから NUL (`\0') を受信するまで文字を読みとります。
          受信した文字は ASCII 文字からなる 10 進数の数字として評価されます。

     2.   ステップ 1 で受信した番号が 0 でない場合、その番号は stderr のために
          用いられるストリームのためのポート番号として用いられます。その後、第
          二の接続がクライアントホスト上の指定されたポートとの間に生成されま
          す。

     3.   NUL で終了する最大 16 文字のユーザ名が最初のソケットより取得されま
          す。

     4.   NUL で終了する、暗号化が施されていない最大 16 文字のパスワードが最初
          の socket より取得されます。

     5.   NUL で終了する、シェルに渡されるコマンドが最初の socket より取得され
          ます。コマンドの長さは、システムの引数リストの制限を越えない長さに制
          限されます。

     6.   rexecd は、次に、ログイン時と同様にユーザの認証を行い、ユーザ認証が
          成功した場合、カレントディレクトリを当該ユーザのホームディレクトリに
          変更し、ユーザとグループの保護を行ないます。仮にこれらの段階が失敗し
          た場合、コネクションを切断し、診断メッセージを返します。

     7.   NUL 文字が最初のソケットに返却され、コマンドラインは当該ユーザの通常
          のログインシェルに渡されます。シェルは rexecd によって確立されたネッ
          トワークコネクションを継承します。


警告

     rexecd は root のログインを許可しません。ただし -i オプションがコマンド行
     (典型的には /etc/inetd.conf ) で指定された場合は除きます。 rexecd はまた
     /etc/ftpusers にリストされたユーザでのアクセス、パスワードの無いユーザの
     アクセスを許可しません。これらはすべて重大なセキュリティホールでした。
     rexec/rexecd のコンセプトは、メジャーなセキュリティホールと、それをさせな
     いための例です。 rexecd/etc/inetd.conf ではデフォルトで無効になってい
     ます。


診断

     以下のリストの一番最後のものを除き、全ての診断メッセージは、他のネットワ
     ークコネクションが切断された後に、最初の socket を経由して返却されます。
     エラーは、最初のバイトが値 1 であることで示されます (コマンドの実行に先立
     つ全てのステップが正常に終了した場合、上記のステップ 7 で、値 0 が返され
     ます)。

             パスワードが不正です。

     No remote directory.
             ホームディレクトリへの chdir コマンドが失敗しました。

     Try again.
             サーバによる fork(2) が失敗しました。

     <shellname>: ...
             ユーザのログインシェルが起動できませんでした。このメッセージは
             stderr のために確立されたコネクションを用いて送信されます。そし
             て、先頭にフラグバイトがつくことはありません。


関連項目

     rexec(3)


バグ

     すべてのデータとパスワードを交換する場合に、それらの暗号化を行なう機構が
     用意されるべきでしょう。


歴史

     rexecd コマンドは 4.2BSD から登場しました。

FreeBSD 4.4                   September 23, 1994                   FreeBSD 4.4

ABELNET VPSサービス