Provided by: manpages-ja_0.5.0.0.20131015+dfsg-2_all
名前
rexecd — リモート実行サーバ
書式
rexecd
説明
rexecd は rexec(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/> に よる翻訳を参考にさせていただいた。