R 系サービス概要 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− #--------------------------------------------------------------------------------------------- # R 系サービスの種類 #--------------------------------------------------------------------------------------------- R 系サービスはリモートからの接続をrshd(514番)、 rlogind(513番) を使用して待機します。セキュリティを重視するホストでは、rshd/rlogind を起動しないようにしてR 系コマンドを使用できないようにしているところも多い。普通rshd/rlogind は inetd 経由で実行される。 ▼ rshd サービス rshd は、ホスト間の信頼に基き、コマンドの実行を提供するシェルサーバープログラムである。基本的には、リモートから送られてきたコマンドを実行し、その結果である標準出力、及び標準エラー出力をリモートに帰す処理を行う。逆にそれしか行わないため、対話処理が必要なコマンドの実行には通常使用しない。主にrsh、 rcp などのサービスで利用されます。使用ポート番号は514 番。 ▼ rlogin サービス rlogin は、リモートログインを処理するサーバープログラムである。ホスト間の信頼関に基いた認証(ホスト認証) も行う。一般にrlogin コマンドのリクエストを処理する。リモートからのログインを処理し、セッションを確立することはtelneted と変わりないが、こちらはホストモード、ターミナルタイプは提供しない。使用ポート番号は513 番。 #--------------------------------------------------------------------------------------------- # R 系コマンドの仕組み #--------------------------------------------------------------------------------------------- R 系サービスでは、/etc/hosts.equiv や/~.rhosts が信頼しえるホストかどうかの判断に使用されます。これらのファイルに記述されたホストは信頼できるホストであると判断し、以降の認証が行われません。 ▼ /etc/hosts.equiv、/~.rhosts の書式 [ + | - ] [hostname] [username] hostname には接続元ホストを指定します。このホストからログインしてきたどのユーザもパスワード認証なしでサーバー上に存在する全てのユーザー権限にてログインすることができます。 username には接続元ユーザー名を指定します。このユーザーは、サーバー上の全てのユーザー権限にてログインすることができます。 なお、+を付加することで特定のホストの認証を許可、−を付加することで特定のホストの認証を拒否することができます。 ※ 注意 ).rhosts に関して rlogin、rcp 等のR 系サービスは基本的にPAM 認証を使用している。このPAM 認証におけるrhosts 認証は、つまりはユーザーのログインディレクトリにある.rhosts ファイルに基きホスト認証を行うというものである。このホスト認証を行うには.rhosts も権限を 600 とすべき。というのも、PAM は.rhosts ファイルが持ち主以外の人間が書き込み可能である場合は参照しない(認証しない) からである。 ▼ rlogin コマンド rlogin [-l username ] hostname -l オプションにて接続先ホスト上のユーザーを指定します。特に指定がない場合は接続元ユーザーにてログインします。 hostname には接続先のホスト名を指定します。