RLOGIND

Section: Maintenance Commands (8)
Index JM Home Page

BSD mandoc
Linux NetKit (0.17)  

名前

rlogind - リモートログインサーバ  

書式

rlogind [-ahlLn  

説明

] rlogindrlogin(1) プログラムのためのサーバである。 このサーバは、信頼できるホストからの特権ポート番号に基づいた認証を用いて、 リモートログイン機能を提供する。

rlogind がサポートするオプションは、以下の通りである:

-a
検証のために、ホスト名を問い合わせる。
-h
スーパーユーザーの ``.rhosts '' ファイルの使用を許可する。
-l
ユーザーの ``.rhosts '' ファイルによる認証を行わせない。 ユーザーがスーパーユーザーとしてログインしている場合に、 -h オプションが使われると、 ``.rhosts '' による認証処理が行われる。
-L
``.rhosts '' や ``hosts.equiv '' の情報に基づく認証を行わせない。
-n
キープアライブメッセージを使わせない。

PAM (Pluggable Authentication Module) サポートが使用中である場合、 -h, -l, -L フラグは使われない。 この場合 /etc/pam.conf を編集することで、同様の効果を得ることができる。

-h と -l オプションを、システムにインストールされている 特定のバージョンの libc とともに使う場合は、 期待通りに動作するかを検証せずに信頼すべきではない (また、libc を更新した後にはテストすべきである)。 なぜなら、libc のいくつかのバージョンでは rlogind で使われる内部フラグの通りには動作しない。 -L オプションは libc の関数を完全にバイパスするので、 この問題には影響を受けない。

.rhosts システムの設計は、 ファイアーウォールで慎重に保護されたプライベートネットワーク以外では、 「全く安全性がない」ことにも注意すること。 それ以外の環境下では、常に -L オプションを使うこと。 更に、 rlogind は通信を暗号化しないので、一般的に言うと、本当に使うべきではない。 ssh(8) の使用を考慮に入れること。

rlogind は、``login'' サービスの仕様に基づくポート番号で、 サービス要求を受け付ける。 services(5) を参照すること。 サービスの要求を受け取ると、以下のプロトコルを開始する:

  1. サーバはクライアントの要求元ポート番号を調べる。 このポート番号が 512 〜 1023 の範囲でない場合、 サーバは接続を中止する。
  2. サーバはクライアントの要求元 IP アドレスを調べ、 それに対応するホスト名を求める ( gethostbyaddr(3) hosts(5), named(8) を参照すること)。 ホスト名が決定できない場合、 ドット表記法によるホストアドレスが使われる。 (ドメイン名の後ろから 2 つを使って判断した) ホスト名がサーバと同じドメインの場合、 または -a オプションが指定されている場合、 ホスト名に対するアドレスが求められ、 ホスト名とアドレスが一致しているかを検証する。 アドレスの検証に失敗した場合、通常の認証作業を行わない。

要求元のポート番号とアドレスが検証されると、 rlogindrshd(8) で説明されている認証プロセスを開始する。 そして、疑似端末 ( pty(4) を参照) を割り当てるとともに、ファイルディスクリプタを操作する。 これにより、疑似端末のスレーブ側がログインプロセスの stdin stdout stderr になる。 認証が成功した場合、 login(1) プログラムに -f オプションを指定して起動し、 ログインプロセスを生成する。 自動認証が失敗した場合、通常の端末回線からのログインと同様に、 ユーザーにログインのプロンプトが出される。

ログインプロセスの親プロセスは、疑似端末のマスタ側を操作する。 これは、ログインプロセスと rlogin プログラムを実体化したものとの間を仲介する役割をする。 通常の操作では、 `^S/^Q' のような機能を提供したり、 割り込み信号をリモートプログラムに伝えるために、 pty(4) で説明されているパケットプロトコルを起動する。 ログインプロセスは、 クライアント端末の通信速度や環境変数 `TERM ' で指定されている端末タイプを伝える。 environ(7) を参照すること。 端末のスクリーンサイズやウインドウサイズがクライアント側から要求される。 そして、クライアントから変更されたウインドウサイズは、 疑似端末へと伝えられる。

トランスポートレベルのキープアライブメッセージは、 -n オプションが指定されていない限り出力される。 キープアライブメッセージを使うと、 クライアントがクラッシュしたり、通信不能になった場合に、 セッションをタイムアウトで終了することが可能になる。  

返り値

ネットワーク接続が切断された後、 全ての初期診断メッセージは、先頭に値 1 のバイトを付けて通知される。 login が起動される前にエラーが発生していない場合、 成功したことを通知するために、ヌル文字のバイトが返される。
Try again.
サーバが fork に失敗した。

 

関連項目

login(1), ruserok(3), rshd(8)  

バグ

ここで使われる認証手続きは、それぞれのクライアントマシンと 接続媒体が完全であることを仮定している。 これは安全ではないが、「オープンな」環境では便利である。

通信する全てのデータを暗号化する機能が提供されるべきである。

もっと発展性のあるプロトコルが用いられるべきである。  

履歴

コマンドは BSD 4.2 で登場した。  

翻訳者謝辞

この man ページの翻訳にあたり、 FreeBSD jpman project <http://www.jp.freebsd.org/man-jp/> による翻訳を参考にさせていただいた。

関連キーワード

ログイン, 認証, 端末, rlogind, プロセス, サーバ, RLOGIND, 要求, 番号, ポート

Linux マニュアル 一覧

[man1] [man2] [man3] [man4] [man5] [man6] [man7] [man8]
[a] [b] [c] [d] [e] [f] [g] [h] [i] [j] [k] [l] [m] [n] [o] [p] [q] [r] [s] [t] [u] [v] [w] [x] [y] [z]

 

Index

名前
書式
説明
返り値
関連項目
バグ
履歴
翻訳者謝辞

This document was created by man2html, using the manual pages.
Time: 12:08:56 GMT, June 11, 2022