RSHD(8) | System Manager's Manual | RSHD(8) |
rshd
—
リモートシェルのサーバ
rshd
[-ahlnL
]
rshd
サーバは、 rcmd(3)
ルーチンのためのサーバであり、
結果として rsh(1)
プログラムを実行するためのサーバである。
このサーバは、信頼できるホストからの特権ポート番号に基づいた認証を使い、
リモート実行機能を提供する。
rshd
サーバは、``cmd''
サービスの仕様で指定されているポートで、
サービス要求を待つ。
services(5)
を参照すること。
サービス要求を受信すると、以下の手順を開始する:
-a
オプションが指定されている場合、
ホスト名に対応するアドレスが要求され、
ホスト名とアドレスが対応しているかを確認する。
アドレス確認が失敗した場合、
``Host address mismatch.''
というメッセージを出して、接続を中止する。rshd
は ruserok(3)
を使ってユーザーを確認する。
このプログラムは
/etc/hosts.equiv
ファイルと、ユーザーのホームディレクトリにある
.rhosts
ファイルを使う。
-l
オプションは、
ruserok(3)
に、ユーザー ``.rhosts''
ファイルに基づいた確認を行わせない
(ユーザーがスーパーユーザーである場合と、
-h
オプションが使われた場合を除く)。
-h
オプションが指定されない場合、
スーパーユーザーアカウントは、このサービスでは全く使われない。
-l
オプションは、
システムにインストールされている特定のバージョンの
libc で
動作するかを確認せずに信用すべきではない
(また、libc
を更新した後もテストすべきである)。
なぜなら、libc
のいくつかのバージョンでは
rshd
が使うフラグが信用できない。
また、 .rhosts
システムの設計は、慎重にファイアウォールで囲まれた
プライベートネットワーク以外では、
「全くもって安全でない」ことに注意すること。
それ以外の環境では
rshd
を完全に無効にすべきである。
rshd
によって確立されたネットワーク接続を拒否する。トランスポートレベルのキープアライブメッセージは、
-n
オプションが指定されない限り、有効である。
キープアライブメッセージを使うと、
クライアントがクラッシュしたり到達不能になった場合に、
セッションをタイムアウトすることができる。
-L
オプションを使うことで、
全ての正常なアクセスを
syslogd(8) を経由して
auth.info
メッセージとしてログに記録できる。
また、全ての失敗したアクセスを
auth.notice
としてログに記録できる。
以下にリストしたもののうち最後のものを除き、 全ての診断メッセージを最初のソケットを使って返した後、 全てのネットワーク接続を閉じる。 エラーは、先頭に値 1 のバイトをつけることで示される (ログインシェル実行前の全てのステップが正常に完了した場合、 上記のステップ 9 で 0 が返される)。
ここで使われているユーザー認証手続きは、 クライアントマシンと接続媒体が完全であることを仮定している。 これは安全ではないが、「オープンな」環境では便利である。
通信する全てのデータを暗号化する機能が提供されるべきである。
(Telnet のような) もっと拡張性のあるプロトコルが用いられるべきである。
この man ページの翻訳にあたり、 FreeBSD jpman project <http://www.jp.freebsd.org/man-jp/> による翻訳を参考にさせていただいた。
April 20, 1991 | Linux NetKit (0.17) |