REXECD(8) FreeBSD システム管理者マニュアル REXECD(8)
名称
rexecd − リモート実行サーバ |
書式
rexecd [−i] |
解説 |
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 が返されま す)。 |
username too long
ユーザ名が 16 文字を越えています。 password too long command too long Login incorrect. Password incorrect. No remote directory. Try again. <shellname>: ... 関連項目 |
バグ
すべてのデータとパスワードを交換する場合に、それらの暗号化を行なう機構が 用意されるべきでしょう。 |
歴史
rexecd ユーティリティは 4.2BSD から登場しました。 FreeBSD 10.0 September 23, 1994 FreeBSD 10.0 |