| REXECD(8) | System Manager's Manual | REXECD(8) | 
名前¶
rexecd —
    リモート実行サーバ
書式¶
rexecd
説明¶
rexecd は rexec(3)
    ルーチンのためのサーバである。
    このサーバは、ユーザー名とパスワードによる認証に基づいた、
    リモート実行機能を提供する。
rexecd は ``exec''
    サービスの仕様で指示されたポートへのサービス要求を監視する。
    services(5)
    を参照すること。
    サービス要求を受信すると、以下のプロトコルが開始される。
- サーバはソケットから
      NUL 文字のバイト
      (‘
\0’) を受信するまで文字を読み取る。 受信した文字は ASCII 文字からなる 10 進数の数字として解釈される。 - ステップ 1 で受信された番号が 0 でない場合、 その番号は stderr のために使われる 2 次ストリームのポート番号であると解釈される。 その後、第 2 の接続がクライアントマシン上の 指定されたポートとの間に生成される。
 - NUL 文字で終端された最大 16 文字のユーザー名が、 最初のソケットから取得される。
 - NUL 文字で終端され、暗号化されていない最大 16 文字のパスワードが、 最初のソケットから取得される。
 - NUL 文字で終端されたシェルに渡されるコマンドが、 最初のソケットから取得される。 コマンドの長さは、システムの引き数リストの上限を越えない長さに制限される。
 - その後、 
rexecdはログイン時と同様のユーザー認証を行う。 認証が成功した場合、ユーザーのホームディレクトリに移動し、 そのユーザーに対してユーザーとグループの保護を行う。 これらのステップのどれかで失敗した場合、 接続を切断し、診断メッセージを返す。 - 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 に関係づけられた接続を用いて返される。 このメッセージの先頭には、フラグになるバイトが付かない。
 
関連項目¶
バグ¶
通信される全てのデータとパスワードについて、 暗号化を可能にする機能が用意されるべきである。
履歴¶
rexecd
    コマンドは 4.2BSD
    で登場した。
翻訳者謝辞¶
この man ページの翻訳にあたり、 FreeBSD jpman project <http://www.jp.freebsd.org/man-jp/> による翻訳を参考にさせていただいた。
| March 16, 1991 | Linux NetKit (0.17) |