Provided by: manpages-ja_0.5.0.0.20161015+dfsg-1_all bug

名前

     rexecd — リモート実行サーバ

書式

     rexecd

説明

     rexecdrexec(3) ルーチンのためのサーバである。 このサーバは、ユーザー名とパスワードによる認証に基づい
     た、 リモート実行機能を提供する。

     rexecd は ``exec'' サービスの仕様で指示されたポートへのサービス要求を監視する。 services(5) を参照するこ
     と。 サービス要求を受信すると、以下のプロトコルが開始される。

     1.   サーバはソケットから NUL 文字のバイト (‘\0’) を受信するまで文字を読み取る。 受信した文字は ASCII 文字
          からなる 10 進数の数字として解釈される。

     2.   ステップ 1 で受信された番号が 0 でない場合、 その番号は stderr のために使われる 2 次ストリームのポート
          番号であると解釈される。 その後、第 2 の接続がクライアントマシン上の 指定されたポートとの間に生成され
          る。

     3.   NUL 文字で終端された最大 16 文字のユーザー名が、 最初のソケットから取得される。

     4.   NUL 文字で終端され、暗号化されていない最大 16 文字のパスワードが、 最初のソケットから取得される。

     5.   NUL 文字で終端されたシェルに渡されるコマンドが、 最初のソケットから取得される。 コマンドの長さは、シス
          テムの引き数リストの上限を越えない長さに制限される。

     6.   その後、 rexecd はログイン時と同様のユーザー認証を行う。 認証が成功した場合、ユーザーのホームディレク
          トリに移動し、 そのユーザーに対してユーザーとグループの保護を行う。 これらのステップのどれかで失敗した
          場合、 接続を切断し、診断メッセージを返す。

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

返り値

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

     username too long
             ユーザー名が 16 文字を越えている。

     password too long
             パスワードが 16 文字を越えている。

     command too long
             渡されたコマンドラインが (システムで設定されている) 引き数リストのサイズを越えている。

     Login incorrect.
             パスワードファイルにそのユーザー名のエントリが存在しない。 あるいは、間違ったパスワードが送られた。

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

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

     <shellname>: ...
             ユーザーのログインシェルを起動することができない。 このメッセージは stderr に関係づけられた接続を用
             いて返される。 このメッセージの先頭には、フラグになるバイトが付かない。

関連項目

     rexec(3)

バグ

     通信される全てのデータとパスワードについて、 暗号化を可能にする機能が用意されるべきである。

履歴

     rexecd コマンドは 4.2BSD で登場した。

翻訳者謝辞

     この man ページの翻訳にあたり、 FreeBSD jpman project <http://www.jp.freebsd.org/man-jp/> による翻訳を参考
     にさせていただいた。