REXECD
Section: Maintenance Commands (8)
Index
JM Home Page
roff page
BSD mandoc
Linux NetKit (0.17)
名前
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.
-
パスワードファイルにそのユーザー名のエントリが存在しない。
あるいは、間違ったパスワードが送られた。
- remote directory.
-
ホームディレクトリへの
chdir
コマンドが失敗した。
- Try again.
-
サーバーによる
fork
が失敗した。
- <shellname>: ...
-
ユーザーのログインシェルを起動することができない。
このメッセージは
stderr
に関係づけられた接続を用いて返される。
このメッセージの先頭には、フラグになるバイトが付かない。
関連項目
rexec(3)
バグ
通信される全てのデータとパスワードについて、
暗号化を可能にする機能が用意されるべきである。
履歴
rexecd
コマンドは
BSD 4.2
で登場した。
翻訳者謝辞
この man ページの翻訳にあたり、
FreeBSD jpman project <http://www.jp.freebsd.org/man-jp/>
による翻訳を参考にさせていただいた。
Index
- 名前
-
- 書式
-
- 説明
-
- 返り値
-
- 関連項目
-
- バグ
-
- 履歴
-
- 翻訳者謝辞
-
This document was created by
man2html,
using the manual pages.
Time: 16:46:45 GMT, November 24, 2023