Solaris man マニュアル
ユーザーコマンド                                           rsh(1)

【名前】
     rsh, remsh, remote_shell - リモートシェル

【形式】
     rsh [-n] [-a] [-PN | -PO]  [-x] [-f | -F]  [-l username] [-k
     realm] hostname command

     rsh hostname [-n] [-a] [-PN |  -PO]   [-x]  [-f  |  -F]   [-
     l username] [-k realm] command

     remsh [-n] [-a] [-PN | -PO]  [-x] [-f |  -F]   [-l username]
     [-k realm] hostname command

     remsh hostname [-n] [-a] [-PN | -PO]  [-x]  [-f  |  -F]   [-
     l username] [-k realm] command

      hostname [-n]  [-a]  [-PN  |  -PO]   [-x]  [-f  |  -F]   [-
     l username] [-k realm] command

【機能説明】
     rsh は、hostname が示すホストに接続し、command が示すコマ ン
     ドを実行します。rsh は自身の標準入力のデータをリモートコマン
     ドにコピーし、リモートコマンドの標準出力を自身の標準出力にコ
     ピーし、さらに、リモートコマンドの標準エラー出力を自身の標準
     エラー出力にコピーします。割り込み、停止、および終了シグナル
     は、 リモートコマンドに伝えられます。通常 rsh は、リモートコ
     マンドが終了したときに終了します。

     ユーザーは、Kerberos V5 認証を使用して、rsh セッションを安全
     にするかどうかを選択できます。また、転送されるデータも暗号化
     できます。rsh セッションで Kerberos 認証を使用するには、任意
     の  Kerberos 固有オプション (-a、-PN または -PO、-x、-f また
     は -F、および -k realm) を使用します。これらのオプションのう
     ち、-x、-PN または -PO、および -f または -F は、krb5.conf(4)
     の [appdefaults] セクションにも指定できます。これら の オ プ
     ションの使用法と期待される動作については、以下のオプションセ
     クションを参照してください。Kerberos 認証を使用する場合、 ア
     カ ウントの認証は、krb5_auth_rules(5) の規則によって制御され
     ます。Kerberos 認証が失敗した場合、-PO オプションをコマン ド
     行 に明示的に指定するか、krb5.conf(4) 経由で指定している場合
     にのみ、rhosts を使用する通常の rsh へのフォールバックが発生
     します。-PN または -PO、-x、-f または -F、および -k realm オ
     プションは、-A オプションの上位集合であることに注意してく だ
     さい。

     command を省略すると、rsh は単一のコマンドを実行する代 わ り
     に、rlogin(1) を使ってそのユーザーをリモートホストにログイン
     します。

     rsh は command の終了ステータスを返しません。

     シェルのメタキャラクタのうち、引用符で囲まれていないも の は
     ローカルマシン上で解釈されます。引用符で囲まれているものは、
     リモートマシン上で解釈されます。「使用例」の項にある例を参照
     してください。

     特定のユーザーのログインシェルの初期化ファイル (.cshrc など)
     でロケールが設定されていない場合、rsh はコマンドを実行すると
     きに、常に C ロケールを使用します。リモートマシンのデフォ ル
     トのロケールは使用しません。

     このコマンド自身は暗号化されずにリモートシステムに送信されま
     す。 それ以降の転送はすべて暗号化されます。-x を参照してくだ
     さい。

【オプション】
     以下のオプションを指定できます。

     -a              このオプションは、Kerberos 認証を明示的に 有
                     効にし、アクセス制御において .k5login ファイ
                     ルを信用します。サーバー側で の  in.rshd(1M)
                     に よる認証チェックが成功し、.k5login ファイ
                     ルがアクセス権を許可する場合、ユーザーは rsh
                     コマンドを実行することが許可されます。



     -f              ローカルの証明書 (Kerberos チケット 許 可 チ
                     ケット) のコピーをリモートシステムに転送しま
                     す。この証明書は再転送可能ではありません。こ
                     のチケット許可チケットを転送する必要があるの
                     は、リモートホスト上で Kerberos 認証を使用し
                     ているほかのネットワークサービスで自分自身を
                     認証する必要がある場合です。たとえば、リモー
                     ト ホ スト上にある自分のホームディレクトリが
                     Kerberos V5 経由で NFS マウントされている 場
                     合などです。この場合、ローカルの証明書を転送
                     しなければ、リモートホスト上にある自分のホー
                     ムディレクトリにアクセスできません。このオプ
                     ションは、-F オプションとは相互排他的です。



     -F              ローカルの証明書 (Kerberos チケット 許 可 チ
                     ケット) のコピーをリモートシステムに転送しま
                     す。この証明書は再転送可能です。-F オプ ショ
                     ン は、-f オプションが提供する機能の上位集合
                     を提供します。たとえば、-f オプショ ン の 場
                     合、 リ モー ト ホ ス ト に 接 続 した後に、
                     /usr/bin/ftp、             /usr/bin/telnet、
                     /usr/bin/rlogin、 ま たは /usr/bin/rsh を -f
                     オプションまたは -F オプションで呼び出そうと
                     しても失敗します。つまり、単一のネットワーク
                     署名をほかのシステムにプッシュできません。こ
                     の オプションは、-f オプションとは相互排他的
                     です。



     -k realm        rsh は、krb5.conf(4) で定義されているリ モー
                     ト ホストの領域ではなく、指定した realm 内の
                     リモートホスト用のチケットを取得します。



     -l username     リモートユーザー名として、ユーザー自身のロー
                     カルユーザー名の代わりに username を使用しま
                     す。このオプションを省略すると、リモートユー
                     ザー名はローカルユーザー名と同じになります。



     -n              rsh の入力先を /dev/null に変更します。こ の
                     オプションは、rsh とそれを呼び出したシェルと
                     の間での、予期できない干渉を防ぐ上で便 利 で
                     す。たとえば、rsh を実行していて、さらにバッ
                     クグラウンドで rsh を呼び出した場合、その 入
                     力先を端末以外に変更しないと、リモートコマン
                     ドの読み取りがない場合でも処理が妨げられてし
                     ま います。-n オプションを指定すれば、このよ
                     うな事態は避けられます。



     -PO             Kerberos の「rcmd」プロトコルの新 し い バー
     -PN             ジョン (-PN) または古いバージョン (-PO) を明
                     示的に要求します。新しいプロトコルは、古いプ
                     ロトコルで蔓延している多くのセキュリティの問
                     題を回避し、より安全であると考えられますが、
                     古い (MIT/SEAM) サービスとは相互運用できませ
                     ん。-PO オプションで古いプロトコルを明示的に
                     指 定するか、krb5.conf(4) 経由で指定していな
                     い限り、デフォルトでは、新しいプロトコルが使
                     用されます。古い「rcmd」プロトコルを使用して
                     いるときに Kerberos 認証が失敗した場合、Ker-
                     beros  認 証 を 使用しない通常の rlogin への
                     フォールバックが発生します。これは、新しい、
                     より安全な「rcmd」プロトコルを使用している場
                     合には当てはまりません。




     -x              ネットワークセッションのトラフィックを暗号化
                     します。「機能説明」の節を参照してください。


     リモートシェルの種類 ( sh や rsh など) は、リモートシステ ム
     上 の /etc/passwd ファイル中のユーザーのエントリにより決めら
     れます。

【オペランド】
     以下のオペランドを指定できます。

     command         指定された hostname で実行するコマンド



【使用法】
     ファイルが 2 ギガバイト (2**31 バイト) 以上ある場合の rsh と
     remsh の動作については、largefile(5) を参照してください。

     rsh および remsh コマンドは、IPv6 に対応しています。 ip6(7P)
     の マニュアルページを参照してください。現在のところ、IPv6 は
     Kerberos V5 認証ではサポートされません。

     ホスト名は hosts データべース (/etc/hosts ファイルに含めるこ
     と ができる)、インターネットドメイン名データべース、あるいは
     その両方に書かれています。各ホストには 1 つの正式名 (デー タ
     べー ス エントリの最初の名前) があり、さらにいくつかのニック
     ネームが存在することもあります。hostname 引数には、正式な ホ
     スト名とニックネームのいずれかを指定します。

     rsh を実行するファイル名が rsh でなければ、rsh はそのファ イ
     ル名を hostname 引数として使用します。これによりユーザーは、
     ホスト名で rsh に対するシンボリックリンクを生成でき、実行 時
     にそのホスト上のリモートシェルを呼び出せます。ディレクトリを
     作成し、それを共通に使われるホスト名でシンボリックリンクにつ
     なぎ、さらにそのディレクトリをユーザー自身のシェルの検索パス
     に含めることにより、シェルに hostname を入力するだけ で  rsh
     を実行することができます。

     rsh を remsh で呼び出した場合、rsh は /usr/bin/remsh の存 在
     を 確 認 します。このファイルが存在する場合、rsh は remsh を
     rsh の別名として処理します。/usr/bin/remsh が存在し な い 場
     合、rsh は remsh をホスト名として処理します。

     Kerberos 認証を使用する rsh セッションの場合、各ユーザーは自
     分のホームディレクトリの .k5login ファイルに、専用の認証リス
     トを持つことができます。このファイ ル の 各 行 に は、 形 式
     principal/instance@realm  の Kerberos 主体名が入っている必要
     があります。~/.k5login ファイルが存在する場合、起点ユー ザー
     が  ~/.k5login ファイルに指定された主体の 1 人であると認証さ
     れた場合にのみ、起点ユーザーのアカウントにアクセス権が付与さ
     れ ます。~/.k5login ファイルが存在しない場合、authenticated-
     principal-name -> local-user-name マッピング規則を使用して、
     起点ユーザーの認証された主体名をローカルアカウント名にマッピ
     ングできる場合にのみ、起点ユーザーのアカウントにアクセス権が
     付 与されます。.k5login ファイル (アクセス制御用) が処理され
     るのは、Kerberos 認証が行われるときだけです。

     安全でない rsh セッションの場合、各リ モー ト マ シ ン に は
     /etc/hosts.equiv  と い う名のファイルが存在することがありま
     す。このファイルには、そのマシンとユーザー名を共有するホスト
     名の一覧が記録されています。ローカルマシン上とリモートマシン
     上でのユーザー名が同一のユーザー は、 リ モー ト マ シ ン の
     /etc/hosts.equiv ファイルにリストされているマシンから rsh を
     実行することができます。個々のユーザーは、このような同等名リ
     ス トを個人用の .rhosts ファイルとして、自身のホームディレク
     トリに作成することができます。このファイル中の各行には 2  つ
     の 名前、hostname と username が含まれ、両者は空白で区切られ
     ます。username で示すユーザーが hostname で示すホストにロ グ
     イ ン し ていれば、そのユーザーは rsh を使って、リモートユー
     ザーとしてリモートマシンにアクセスできます。ローカルホスト名
     が リ モートマシン上の /etc/hosts.equiv ファイル中に見つから
     ず、ローカルのユーザー名とホスト名が リ モー ト ユー ザー の
     .rhosts  ファ イル中に見つからない場合、アクセスは拒否されま
     す。/etc/hosts.equiv または .rhosts ファイルに記録されている
     ホスト名は、hosts データべースに登録されている正式なホスト名
     である必要があります。つまりこの両ファイル中には、ニックネー
     ムは指定できません。

     リモートマシン上でアクセスが拒否されたときは、command 引数が
     省略されていない限り、rsh はパスワードの入力を要求するプロン
     プトを出力しません。

【使用例】
     例 1: rsh でファイルを追加する

     次のコマンドは、リモートのマシン lizard 上にあ る ファ イ ル
     lizard.file  を、 ロー カルのマシン example 上にあるファイル
     example.file に追加します。

     example% rsh lizard cat lizard.file >> example.file

     次のコマンドは、リモートのマシン lizard 上にあ る ファ イ ル
     lizard.file  を、 同 じ マ シ ン  lizard  上 に あるファイル
     lizard.file2 に追加します。

     example% rsh lizard cat lizard.file ">>" lizard.file2

【終了ステータス】
     以下の終了ステータスが返されます。

     0        正常終了



     1        エラーが発生した



【ファイル】
     /etc/hosts              インターネットホストテーブル



     /etc/hosts.equiv        信頼性のあるリモートホストとユーザー



     /etc/passwd             システムパスワードファイル



     $HOME/.k5login          アクセスを許可する Kerberos 主体を含
                             むファイル



     /etc/krb5/krb5.conf     Kerberos 構成ファイル



【属性】
     次の属性については、attributes(5) のマニュアルページを参照し
     てください。
     ____________________________________________________________
    |         属性タイプ          |            属性値           |
    |_____________________________|_____________________________|
    | 使用条件                    | SUNWcsu                     |
    |_____________________________|_____________________________|
    | CSI                         | 対応済み                    |
    |_____________________________|_____________________________|

【関連項目】
     on(1), rlogin(1), telnet(1), vi(1),  in.rshd(1M),  hosts(4),
     hosts.equiv(4),   ipnodes(4),  krb5.conf(4),  attributes(5),
     krb5_auth_rules(5), largefile(5), ip6(7P)

【注意事項】
     hosts.equiv に登録されているシステムのセキュリティは、少なく
     ともローカルシステムのセキュリティと同レベルである必要があり
     ます。セキュリティレベルの低いシステムが hosts.equiv 中に  1
     つでも存在していると、システム全体のセキュリティが損なわれる
     可能性があります。

     vi(1) のような対話型コマンドは実行できません。対話型コマンド
     は rlogin を使って実行してください。

     停止シグナルは、ローカルの rsh プロセスだけを停止させま す。
     これはバグだという議論があるかもしれませんが、現在のところ修
     正が大変困難です。その理由は複雑なので、ここでは説明を省きま
     す。


     以下を実行すると、シェルの状態がおかしくなります。


     example% rsh somehost dd if=/dev/nrmt0 bs=20b | tar xvpBf -

      つまり rsh の前に tar が終了してしまい、そのあとで  rsh  が
     「壊れたパイプ」にデータを書き出そうとします。そのため正常に
     終了するのではなく、標準入力をアクセスしようとしてシェルと競
     合してしまいます。

      -n オプションを指定して rsh を実行すれば、このような事態 を
     防ぐことができます。

     example% tar cf - . | rsh sundial dd of=/dev/rmt0 obs=20b

     この場合には、前述のような現象は起こりません。この場合に  -n
     オ プ ションを指定すると、rsh はパイプから読み込む代わりに、
     誤って /dev/null からの読み込みを試みます。