RSHD(8) FreeBSD システム管理者マニュアル RSHD(8)
名称
rshd − リモートシェルのサーバ |
書式
rshd [−?DLaln] |
解説 |
rshd ユーティリティは、 rcmd(3) ルーチンのためのサーバであり、結果として rsh(1) ユーティリティの実行のために必要となるサーバです。 rshd は、信頼で きるホストからの特権ポート番号に基づいた認証を行なうことによって、プログ ラムのリモート実行機能を提供します。 rshd ユーティリティは、 ‘‘cmd’’ サービスに割り当てられたポート (services(5) 参照) でサービス要求を受け付けます。サービス要求を受信する と、サーバは以下の手順を開始します: |
1. サーバは、クライアントの要求元ポート番号のチェックをおこないます。要求元ポート番号が 512 から 1023 の範囲にない場合、サーバは接続を強制切断します。
2. サーバは、ソケットから ヌルバイト (‘\0’) を検出するまで文字を読みま す。受信文字列は、 ASCII コードによる 10 進数の数値に変換します。 3. ステップ 2 で受信した数値が 0 でない場合、その数値を 標準エラー出力 で使用する 2 番目のストリームのポート番号として解釈します。そしてク ライアントマシン上でも指定されたポート番号の 2 番目の接続を生成しま す。この 2 番目の接続の要求元ポート番号も、512 から 1023 の範囲で指 定します。 4. サーバは、クライアントの要求元アドレスをチェックし、該当するホスト名 を要求します (gethostbyaddr(3), hosts(5), named(8) を参照してくださ い)。ホスト名が特定できない場合、または確認したホスト名とアドレスと が一致しない場合、ドット表記法によるホストアドレスを用います。 5. 最初のソケットを介して、ヌル終端された最大 16 文字のユーザ名を取得し ます。ユーザ名は、 クライアントマシン上のユーザ識別に使用します。 6. 最初のソケットを介して、ヌル終端された最大 16 文字のユーザ名を取得し ます。ユーザ名は、 サーバマシン上のユーザ認証に使用します。 7. 最初のソケットを介して、シェルに渡されるべき、ヌル終端されたコマンド を取得します。コマンド長の制限は、システムの引数リストサイズの上限に 依存します。 8. rshd ユーティリティは、 /etc/hosts.equiv および当該ユーザのホーム ディレクトリ上に存在する .rhosts ファイルを用いる ruserok(3) を使用 して、ユーザ認証を行います。 −l オプションは、ユーザがスーパユーザで ない限り、 .rhosts ファイルに基づいた ruserok(3) のすべての認証をお こなわないようにします。 9. 最初のソケットを用いて ヌルバイトを返し、コマンドラインを、ユーザの 通常のログインシェルに渡します。シェルは rshd によって確立されたネッ トワーク接続を継承します。 オプションは次の通りです: −? −D −L −a −l −n 診断 |
以下に示す例のうち最後のものを除き、すべての診断メッセージを最初のソケッ トを用いて返した後、すべての接続をクローズします。エラーは、先行する 1 バ イトとして値 1 が返されることでわかります (ログインシェル実行の前のすべて のステップが正常に完了した場合、上記のステップ 10 の処理で 0 を返しま す)。 |
Locuser too long.
クライアントマシン上のユーザ名が、16 文字を超えています。 Ruser too long. Command too long. Login incorrect. Remote directory. Logins not available right now. Can’t make pipe. Can’t fork; try again. <shellname>: ... 関連項目 |
rlogin(1), rsh(1), gethostbyaddr(3), rcmd(3), ruserok(3), auth.conf(5), hosts(5), hosts.equiv(5), login.conf(5), services(5), named(8), rlogind(8), syslogd(8) |
関連ファイル
/etc/hosts
/etc/hosts.equiv /etc/pam.conf バグ |
ここで用いられているユーザ認証手順は、各クライアントマシンおよび接続媒体 が信頼できるものと仮定しています。これは安全ではないですが、 ‘‘オープン’’ な環境下では便利です。 全てのデータについて暗号化を行なう機能が実装されるべきです。 PAM 適用後は、 FreeBSD では .rhosts を正しく設定するほかに下記のパッチを 適用することが必要です。 --- etc/pam.d/rsh.orig Wed Dec 17 14:36:20 2003 +++ etc/pam.d/rsh Wed Dec 17 14:30:43 2003 @@ -9 +9 @@ |
required |
pam_rhosts.so |
no_warn |
||||||
required |
pam_rhosts.so |
no_warn |
allow_root |
TELNET のような、もっと拡張性のあるプロトコルが用いられるべきです。 |
歴史
IPv6 サポートは、WIDE/KAME プロジェクトが追加しました。 FreeBSD 10.0 June 4, 1993 FreeBSD 10.0 |