rcp コマンド

目的

ローカル・ホストとリモート・ホスト間または 2 つのリモート・ホスト間でファイルを転送します。

構文

rcp [ -p] [ -F] [ -k realm ] [-m] { { User@Host:File | Host:File | File } { User@Host:File | Host:File | File | User@Host:Directory | Host:Directory | Directory } | [ -r] { User@Host:Directory | Host:Directory |Directory } { User@Host:Directory | Host:Directory | Directory } }

説明

/usr/bin/rcp コマンドは、ローカル・ホストとリモート・ホスト間、2 つのリモート・ホスト間、または同じリモート・ホスト上のファイル間で、単一または複数のファイルをコピーするときに使用します。

リモート宛先ファイルとディレクトリーについては、Host: パラメーターを指定する必要があります。ソースまたは宛先のどちらにもリモート・ホスト名を指定しない場合は、rcp コマンドは cp コマンドと等価になります。ローカル・ファイル名およびディレクトリー名に Host: パラメーターを指定する必要はありません。
注: rcp コマンドでは、 : (コロン) はホスト名の終わりを示すものであると想定します。ファイル名に : を使用する場合には、ファイル名の前に / (スラッシュ) を付けるか、または / を含む絶対パス名で使用してください。

Host の前に接頭部として User@ パラメーターを付けないと、リモート・ホストではローカル・ユーザー名が使用されます。User@ パラメーターを入力すると、その名前が使われます。

リモート・ホスト上のファイルまたはディレクトリーに対してパスを指定しないか、完全に修飾しなければ、パスがリモート・ユーザー・アカウント用のホーム・ディレクトリーから開始すると解釈されます。また、リモート・ホストで解釈しなければならないメタキャラクターは、¥ (¥)、" (二重引用符)、または ' (単一引用符) で囲まなければなりません。

ファイル許可と所有権

デフォルトでは、既存の宛先ファイルの許可モードと所有権は保存されます。 通常、宛先ファイルが存在しなければ、宛先ファイルの許可モードは宛先ホスト側で umask コマンド (Korn シェルの特殊コマンド) によって修正されるソース・ファイルの許可モードに等しくなります。 rcp コマンドの -p フラグを設定すると、ソース・ファイルの修正時刻とモードが宛先ホスト側に保存されます。

リモート・ホスト用に入力するユーザー名によって、rcp コマンドがそのホストで使用するファイル・アクセス特権が決まります。 また、宛先ホストに与えられたユーザー名によって、結果的に生成される宛先ファイルの所有権とアクセス・ モードが決まります。

標準の認証の使用

リモート・ホストには、以下の条件のいずれかが満たされるとアクセスできます。

  • ローカル・ホストがリモート・ホストの /etc/hosts.equiv ファイルに組み込まれていて、リモート・ユーザーが root ユーザーでない場合。
  • ローカル・ホストおよびユーザー名がリモート・ユーザーのアカウントにある $HOME/.rhosts ファイルに組み込まれている場合。

ユーザーは $HOME/.rhosts ファイルに対して、許可を任意に設定できますが、.rhosts ファイルの許可は 600 (オーナーだけが読み取りおよび書き込み可能) に設定することをお勧めします。

上記の条件のほかに、リモート・ユーザーのアカウントにパスワードが定義されていなければ、rcp コマンドを使用してリモート・ホストにアクセスすることができます。 ただし、セキュリティー上の理由で、すべてのユーザー・アカウント上でパスワードを使用することをお勧めします。

Kerberos 5 認証の場合

次の条件のすべてが満たされた場合にのみ、リモート・ホストへのアクセスが可能になります。

  • ローカル・ユーザーに現在の DCE 証明書が与えられている。
  • ローカル・システムとリモート・システムが、Kerberos 5 認証に対して構成されている (一部のリモート・システムの場合、これは不要のことがある。 デーモンが klogin ポートを listen していることが必要)。
  • リモート・システムが DCE 証明書をリモート・アカウントへのアクセスに充分であるとして受け入れる。追加情報については、 kvalid_user 関数を参照のこと。

rcp および名前付きパイプライン

名前付きパイプライン、または FIFO (mknod -p コマンドで作成するスペシャル・ファイル) をコピーするときには、rcp コマンドを使用しないでください。rcp コマンドは、コピーの対象となるファイルに open サブルーチンを使用しますが、このサブルーチンは FIFO パイプ接続のようなブロック化デバイスはブロックします。

制約事項

SP Kerberos V4 rcp 実行パスは、Kerberos がクレデンシャルの転送をサポ ートしないため、リモート間コピーをサポートしません。このような状況下で受け取るメッセージは、 ユーザーがチケットを持っていないことを示すメッセージなので、kinit を使用してログインする必要があります。メッセージを出すのは、 リモート・ソース・マシンです。以下の Kerberos を使用する場合の例を参照して、リモート間コピーを行ってください。

フラグ

項目 説明
-p ユーザーが root 権限を持っているか、または宛先のオーナーである場合に限り、宛先に送るコピー内にソース・ファイルの修正時刻とモードを保存します。このフラグを使用しないと、宛先側の umask コマンドが宛先ファイルのモードを修正し、宛先ファイルの修正時刻はそのファイルが受け取られた時刻に設定されます。

このフラグを使用しないと、有効な umask 値が適切なデータベースに保存されます。この値は umask コマンドを発行することによって設定される値とは異なります。umask コマンドで指定された許可と所有権の値は、データベース内に保存された値には影響しません。

-r ソース・ディレクトリー内の各ファイルとサブディレクトリーを、宛先ディレクトリーに再帰コピーします。
-F これを指定すると、証明書が転送されます。 さらに、リモート・システムの証明書に転送可能のマークが付けられます (これによって、 別のリモート・システムにそれらの証明書を渡すことができるようになります)。このフラグは、Kerberos 5 が現在の認証メソッドでない場合は無視されます。 認証は、現在の DCE 証明書に転送可能のマークが付けられていない場合には無視されます。
-k realm これを使用することで、ユーザーは、リモート端末のレルムを指定できます。このような目的では、レルムは DCE セルと同義です。 このフラグは、 Kerberos 5 が現在の認証メソッドでない場合は無視されます。
-m ファイル名のメタキャラクターのサポート。

パラメーター

項目 説明
Host:File : (コロン) で区切られたリモート宛先ファイルのホスト名 (Host) およびファイル名 (File) です。
注: rcp コマンドでは : (コロン) がホスト名の終わりを表すものであると想定されるため、ローカル・ファイル名またはディレクトリー名に組み込まれているコロンの前にはすべて ¥ (¥) を挿入しなければなりません。
User@Host:File rcp コマンドが転送したファイルの所有権を設定するときに使用するユーザー名 (User@)、ホスト名 (Host)、およびリモート宛先ファイルのファイル名 (File) を指定します。リモート・ホスト用に入力するユーザー名によって、rcp コマンドがそのホストで使用するファイル・アクセス特権が決まります。
ファイル ローカル宛先ファイルのファイル名を指定します。
Host:Directory リモート宛先ディレクトリーのホスト名 (Host) およびディレクトリー名 (Directory) を指定します。
注: rcp コマンドでは : (コロン) がホスト名の終わりを表すものであると想定されるため、ローカル・ファイル名またはディレクトリー名に組み込まれているコロンの前にはすべて ¥ (¥) を挿入しなければなりません。
User@Host:Directory rcp コマンドが転送したファイルの所有権を設定するときに使用するユーザー名 (User@)、ホスト名 (Host)、およびディレクトリー名 (Directory) を指定します。リモート・ホスト用に入力するユーザー名によって、rcp コマンドがそのホストで使用するファイル・アクセス特権が決まります。
Directory ローカル宛先ディレクトリーのディレクトリー名。

終了状況

このコマンドは、以下の終了値を戻します。

項目 説明
0 正常終了。
>0 エラーが発生しました。

セキュリティー

次の条件のうち、少なくとも 1 つが満たされた場合にのみ、リモート・ホストへのアクセスが可能になります。
  • ローカル・ユーザー ID が認証データベース内でプリンシパルとしてリストされ、 kinit を実行してチケットを獲得していた場合。
  • $HOME/.klogin ファイルがある場合は、そのファイルがターゲット・システム上のローカル・ユーザーの $HOME ディレクトリーにある場合。 ローカル・ユーザーは、さらにこのアカウントに rsh を許可されたユーザーまたはサービスとしてリストされなければなりません。このファイルは、 ローカル .rhosts ファイルと同等の機能を実行します。このファイル内の各行には、"principal.instance@realm" 形式のプリンシパルがなければなりません。親ユーザーが .klogin 内で命名されたプリンシパルの 1 つとして認証されている場合は、アカウントへのアクセスが認可されます。アカウントのオーナーは .klogin ファイルがない場合にアクセスが認可されます。

セキュリティー上の理由から、$HOME/.klogin ファイルはリモート・ユーザーが所有し、 .klogin への読み取りおよび書き込みアクセス (アクセス権 = 600) は AIX® 所有者 ID だけが持つようにする必要があります。

RBAC ユーザーおよび Trusted AIX ユーザーへの注意: このコマンドは特権操作を実行できます。特権命令を実行できるのは特権ユーザーのみです。 権限および特権について詳しくは、「セキュリティー」の『特権コマンド・データベース』を参照してください。このコマンドに関連した特権および権限のリストについては、lssecattr コマンドまたは getcmdattr サブコマンドの項を参照してください。

以下の例では、ローカル・ホストはリモート・ホストにある /etc/hosts.equiv ファイルでリストされます。

  1. ローカル・ファイルをリモート・ホストにコピーするには、以下のように入力します。
    rcp localfile host2:/home/eng/jane
    ローカル・ホストからのファイル localfile がリモート・ホスト host2 にコピーされます。
  2. あるリモート・ホストから別のリモート・ホストにリモート・ファイルをコピーするには、以下のように入力します。 
    
    rcp host1:/home/eng/jane/newplan host2:/home/eng/mary
    ファイル /home/eng/jane/newplan がリモート・ホスト host1 からリモート・ホスト host2 にコピーされます。
  3. ローカル・ホストからのディレクトリー・サブツリーをリモート・ホストに送信して、修正時刻とモードを保存するには、以下のように入力します。
    rcp  -p  -r report jane@host2:report
    ディレクトリー・サブツリー report が、ローカル・ホストからリモート・ホスト host2 のユーザー jane のホーム・ディレクトリーにコピーされ、すべてのモードと修正時刻が保存されます。リモート・ファイル /home/jane/.rhosts には、ローカル・ホストおよびユーザー名を指定するエントリーが含まれます。
  4. この例は、ターゲットとサーバーの両方で認証が Kerberos 4 の場合に、root ユーザーがリモート・ホスト上で rcp を出す方法を示してます。root ユーザーは認証データベースに登録され、 ローカル・ホスト上に kinit を出しておく必要があります。コマンドはローカル・ホストで出され、 ファイル stuff をノード r05n07 から SP 上の r05n05 へコピーします。
    /usr/lpp/ssp/rcmd/bin/rsh r05n07 'export KRBTKTFILE=/tmp/rcmdtkt$$; ¥ 
    /usr/lpp/ssp/rcmd/bin/rcmdtgt; ¥ 
    /usr/lpp/ssp/rcmd/bin/rcp /tmp/stuff r05n05:/tmp/stuff;' 
    root ユーザーは、KRBTKTFILE 環境変数を一時チケット・キャッシュ・ファイル名に設定してから、rcmdtgt コマンドを出してサービス・チケットを獲得します。rcp はサービス・チケットを使用して、ホスト r05n07 からホスト r05n05 へ認証します。

ファイル

項目 説明
$HOME/.klogin ローカル・ユーザー・アカウントを使用できるリモート・ユーザーを指定します。
/usr/lpp/ssp/rcmd/bin/rcp SP Kerberos 4 rcp ルーチンを (適用できる場合) 呼び出す AIX セキュア /usr/bin/rsh へのリンク。

前提条件情報

概要については、「IBM® AIX 並列システム・サポート・プログラム (PSSP) 管理ガイド」のセキュリティーに関する章を参照してください。この資料には、Web サイト http://www.rs6000.ibm.com/resource/aix_resource でアクセスできます。

Kerberos に関する追加情報については、「IBM Parallel System Support Programs for AIX: Command and Technical Reference」の『RS/6000® SP Files and Other Technical Information』 のセクションを参照してください。 この資料には、Web サイト http://www.rs6000.ibm.com/resource/aix_resource でアクセスできます。