rcp コマンド
目的
ローカル・ホストとリモート・ホスト間または 2 つのリモート・ホスト間でファイルを転送します。
構文
rcp [ -p] [ -F] [ -k realm ] [-m] {{ User@Host:File | Host:ファイル | ファイル } { ユーザー@ホスト:ファイル | ホスト:ファイル | ファイル | ユーザー@ホスト:ディレクトリー | ホスト:ディレクトリー | Directory } | [ -r] { User@Host:Directory | Host:Directory |Directory } { User@Host:Directory | Host:ディレクトリー | ディレクトリー }}
説明
/usr/bin/rcp コマンドは、ローカル・ホストとリモート・ホスト間、2 つのリモート・ホスト間、または同じリモート・ホスト上のファイル間で、単一または複数のファイルをコピーするときに使用します。
Host の前に接頭部として User@ パラメーターを付けないと、リモート・ホストではローカル・ユーザー名が使用されます。 User@ パラメーターを入力すると、その名前が使われます。
リモート・ホスト上のファイルまたはディレクトリーに対してパスを指定しないか、完全に修飾しなければ、パスがリモート・ユーザー・アカウント用のホーム・ディレクトリーから開始すると解釈されます。 また、リモート・ホストで解釈される必要があるメタキャラクターは、\(円記号)、a"(二重引用符)、または'(単一引用符)。
- ファイルの許可と所有権
デフォルトでは、既存の宛先ファイルの許可モードと所有権は保存されます。 通常、宛先ファイルが存在しなければ、宛先ファイルの許可モードは宛先ホスト側で umask コマンド (Korn シェルの特殊コマンド) によって修正されるソース・ファイルの許可モードに等しくなります。 RCP command 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 が資格情報の転送をサポートしていないため、リモートからリモートへのコピーをサポートしません。 このような状況で表示されるメッセージは、チケットがなく、 キニit を使用してログインする必要があることを示しています。 メッセージを出すのは、 リモート・ソース・マシンです。 Kerberos を使用してリモートからリモートへのコピーを実行する場合の例のセクションを参照してください。
フラグ
| 項目 | 説明 |
|---|---|
| -p | ユーザーが root 権限を持っているか、または宛先のオーナーである場合に限り、宛先に送るコピー内にソース・ファイルの修正時刻とモードを保存します。 このフラグを使用しないと、宛先側の umask コマンドが宛先ファイルのモードを修正し、宛先ファイルの修正時刻はそのファイルが受け取られた時刻に設定されます。 このフラグを使用しないと、有効な umask 値が適切なデータベースに保存されます。 この値は umask コマンドを発行することによって設定される値とは異なります。 umask コマンドで指定された許可と所有権の値は、データベース内に保存された値には影響しません。 |
| -r | ソース・ディレクトリー内の各ファイルとサブディレクトリーを、宛先ディレクトリーに再帰コピーします。 |
| -F | これを指定すると、証明書が転送されます。 さらに、リモート・システムの証明書に転送可能のマークが付けられます (これによって、 別のリモート・システムにそれらの証明書を渡すことができるようになります)。 このフラグは、Kerberos 5 が現在の認証メソッドでない場合は無視されます。 認証は、現在の DCE 証明書に転送可能のマークが付けられていない場合には無視されます。 |
| -k (K) レルム | これを使用することで、ユーザーは、リモート端末のレルムを指定できます。 このような目的では、レルムは DCE セルと同義です。 このフラグは、Kerberos 5 が現在の認証メソッドでない場合は無視されます。 |
| -m | ファイル名のメタキャラクターのサポート。 |
パラメーター
| 項目 | 説明 |
|---|---|
| ホスト:ファイル | : (コロン) で区切られたリモート宛先ファイルのホスト名 (Host) およびファイル名 (File) です。 注: RCP コマンドは、: (コロン) がホスト名を終了することを想定しているため、ローカル・ファイル名およびディレクトリー名に組み込まれているコロンの前に ¥ (円記号) を挿入する必要があります。
|
| ユーザー@ホスト:ファイル | RCP コマンドが、転送されるファイルの所有権、ホスト名 (ホスト)、およびリモート宛先ファイルのファイル名 (ファイル) を設定するために使用するユーザー名 (ユーザー@) を指定します。 リモート・ホスト用に入力するユーザー名によって、rcp コマンドがそのホストで使用するファイル・アクセス特権が決まります。 |
| File | ローカル宛先ファイルのファイル名を指定します。 |
| ホスト:ディレクトリー | リモート宛先ディレクトリーのホスト名 (Host) およびディレクトリー名 (Directory) を指定します。 注: RCP コマンドは、: (コロン) がホスト名を終了することを想定しているため、ローカル・ファイル名およびディレクトリー名に組み込まれているコロンの前に ¥ (円記号) を挿入する必要があります。
|
| ユーザー@ホスト:ディレクトリー | RCP コマンドが、転送されるファイルの所有権、ホスト名 (ホスト)、およびリモート宛先ディレクトリーのディレクトリー名 (ディレクトリー) を設定するために使用するユーザー名 (ユーザー@) を指定します。 リモート・ホスト用に入力するユーザー名によって、rcp コマンドがそのホストで使用するファイル・アクセス特権が決まります。 |
| directory | ローカル宛先ディレクトリーのディレクトリー名。 |
終了状況
このコマンドは、以下の終了値を戻します。
| 項目 | 説明 |
|---|---|
| 0 | 正常終了。 |
| >0 | エラーが発生しました。 |
セキュリティー
- ローカル・ユーザー ID が認証データベース内でプリンシパルとしてリストされ、 kinit を実行してチケットを獲得していた場合。
- $HOME/.klogin ファイルがある場合は、そのファイルがターゲット・システム上のローカル・ユーザーの $HOME ディレクトリーにある場合。 ローカル・ユーザーは、さらにこのアカウントに rsh を許可されたユーザーまたはサービスとしてリストされなければなりません。 このファイルは、 ローカル .rhosts ファイルと同等の機能を実行します。 このファイル内の各行には、"principal.instance@realm" 形式のプリンシパルがなければなりません。 親ユーザーが .klogin 内で命名されたプリンシパルの 1 つとして認証されている場合は、アカウントへのアクセスが認可されます。 アカウントのオーナーは .klogin ファイルがない場合にアクセスが認可されます。
セキュリティ上の理由から、$HOME/HOME/.kloginファイルはすべてリモート・ユーザーが所有し、AIX®所有者IDのみが.kloginへの読み取りおよび書き込みアクセス権(パーミッション=600)を持つ必要があります。
RBACユーザーおよびTrustedAIXユーザーに注意:このコマンドは特権操作を実行できます。 特権命令を実行できるのは特権ユーザーのみです。 権限および特権について詳しくは、「セキュリティー」の『特権コマンド・データベース』を参照してください。 このコマンドに関連した特権および権限のリストについては、lssecattr コマンドまたは getcmdattr サブコマンドの項を参照してください。
例
以下の例では、ローカル・ホストはリモート・ホストにある /etc/hosts.equiv ファイルでリストされます。
- ローカル・ファイルをリモート・ホストにコピーするには、次のように入力します。
ファイルlocalfileローカル・ホストからリモート・ホストにコピーされます。host2.rcp localfile host2:/home/eng/jane - あるリモート・ホストから別のリモート・ホストにリモート・ファイルをコピーするには、次のように入力します。
ファイル/home/eng/jane/newplanリモート・ホストからコピーされるhost1リモート・ホストへhost2.rcp host1:/home/eng/jane/newplan host2:/home/eng/mary - ディレクトリー・サブツリーをローカル・ホストからリモート・ホストに送信し、変更時刻とモードを保持するには、次のように入力します。ディレクトリー・サブツリーreport ローカル・ホストからユーザーのホーム・ディレクトリーにコピーされます。janeリモート・ホストhost2すべてのモードおよび変更時刻が保持されます。 リモート・ファイル /home/jane/.rhosts には、ローカル・ホストおよびユーザー名を指定するエントリーが含まれます。
- この例は、ターゲットとサーバーの両方で認証が Kerberos 4
の場合に、root ユーザーがリモート・ホスト上で rcp
を出す方法を示してます。 root ユーザーは認証データベースに登録され、
ローカル・ホスト上に kinit を出しておく必要があります。 このコマンドは、SP 上のノード r05n07 からノード r05n05 にファイルをコピーするために、ローカル・ホストで発行されます。
root ユーザーは、KRBTKTFILE 環境変数を一時チケット・キャッシュ・ファイル名に設定してから、rcmdtgt コマンドを出してサービス・チケットを獲得します。 rcp はサービス・チケットを使用して、ホスト r05n07 からホスト 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;'
ファイル
| 項目 | 説明 |
|---|---|
| $HOME/.klogin | ローカル・ユーザー・アカウントを使用できるリモート・ユーザーを指定します。 |
| /usr/lpp/ssp/rcmd/bin/rcp | SP Kerberos 4 rcp ルーチンを呼び出す AIX Secure /usr/bin/rsh へのリンク (該当する場合)。 |
前提条件情報
概要については、『IBM® Parallel System Support Programs forAIX: Administration Guide』のセキュリティの章を参照してください。 この資料には、Web サイト http://www.rs6000.ibm.com/resource/aix_resource でアクセスできます。
Kerberosに関する追加情報については、『IBMParallel System Support Programs forAIX: Command and Technical Reference』のRS/6000SP ファイルとその他の技術情報」を参照してください。 この資料には、Web サイト http://www.rs6000.ibm.com/resource/aix_resource でアクセスできます。