名前 | 形式 | 機能説明 | オプション | 使用法 | 終了ステータス | ファイル | 属性 | 関連項目 | 注意事項
rcp [-p] [-a] [-x] [-PN | -PO] [-k realm] filename1 filename2
rcp [-pr] [-a] [-x] [-PN | -PO] [-k realm] filename... directory
rcp コマンドは、マシン間でファイルをコピーします。filename 引数、directory 引数にリモートファイルを指定する場合は、次のような書式を使用します。
hostname:path |
ローカルファイルを指定する場合は、コロン (:) を使用しないか、コロンの前にスラッシュ (/) を付けます。
hostname には、IPv4 または IPv6 のアドレス文字列を指定できます (inet(7P)、inet6(7P) を参照)。IPv6 のアドレスにはコロンが含まれているので、hostname を角括弧で囲む必要があります。hostname を角括弧で囲まないと、最初のコロンが hostname と path の区切り文字と見なされてしまいます。たとえば、
[1080::8:800:200C:417A]:tmp/file |
また、フルパス名を指定しないと、filename はホスト (hostname) 上のホームディレクトリから見た相対パスと解釈されます。リモートホスト上のパス (path)でメタキャラクタを展開しないようにするには、「\」、「"」、または「'」を使用します。Kerberos 認証バージョンの rcp は IPv6 が無効であることに注意してください。
rcp コマンドの使用時、パスワードを入力する必要はありません。Kerberos 認証をコマンド行オプションで有効にした場合、rcp は Kerberos 認証を使用します。そうでない場合、現在のローカルユーザー名が hostname 上に存在し、rsh(1) でリモートコマンドを実行できる必要があります。
rcp セッションで Kerberos 認証を使用するには、次の任意の Kerberos 固有オプションを使用します。-a、-PN または -PO、-x、および -k realm。これらのオプションのうち、-x と -PN または -PO は、krb5.conf(4) の [appdefaults] セクションにも指定できます。これらのオプションの使用法と期待される動作については、次のオプションセクションを参照してください。Kerberos 認証を使用する場合、アカウントの認証は、krb5_auth_rules(5) の規則によって制御されます。Kerberos 認証が失敗した場合、-PO オプションをコマンド行に明示的に指定するか、krb5.conf(4) に指定している場合にのみ、rhosts を使用する通常の rcp へのフォールバックが発生します。Kerberos 認証が成功した場合、パスワードの入力は求められずに、リモートコピーは成功します。-PN または -PO、-x、および -k realm オプションは、-a オプションの上位集合です。
rcp では、ソースファイルもターゲットファイルも現在のマシン上に存在しないような「サードパーティコピー」も処理できます。ホスト名は、次の形式になります。
username@hostname:filename
この場合、現在のローカルユーザー名でなく、username に指定されたユーザー名が リモートホスト上のユーザー名として使用されます。また、rcp は、リモートホストの インターネットドメインアドレス指定をサポートしており、次の形式で指定できます。
username@host.domain:filename
使用するユーザー名、ホスト名、ホストの所属するドメインを指定できます。filename にフルパス名を指定しないと、username に指定したリモートホスト上のユーザーのホームディレクトリから見た相対アドレスと解釈されます。
次のオプションを指定できます。
このオプションは、Kerberos 認証を明示的に有効にし、アクセス制御において .k5login ファイルを信用します。サーバー側での in.rshd(1M) による認証チェックが成功して、なおかつ、.k5login ファイルがアクセスを許可する場合、ユーザーは rcp 転送を実行することが許可されます。
rcp は、krb5.conf(4) で定義されているリモートホストの領域ではなく、指定した realm 内のリモートホスト用のチケットを取得します。
必要に応じて、各コピーに、オリジナルのファイルと同じ変更時間、アクセス時間、モード、ACL を設定します。
Kerberos の「rcmd」プロトコルの新しいバージョン (-PN) または古いバージョン (-PO) を明示的に要求します。新しいプロトコルは、古いプロトコルにおける多くのセキュリティー問題を回避し、はるかに安全であると考えられますが、古い (MIT/SEAM) サーバーとは相互運用できません。-PO オプションで古いプロトコルを明示的に指定するか、krb5.conf(4) 経由で指定していない限り、デフォルトでは、新しいプロトコルが使用されます。古い「rcmd」プロトコルを使用しているときに Kerberos 認証が失敗した場合、Kerberos 認証を使用しない通常の rcp へのフォールバックが発生します。これは、新しい、より安全な「rcmd」プロトコルを使用しているときには当てはまりません。
指定された filename のサブツリーをコピーします。この場合、コピー先はディレクトリでなければなりません。
ホスト間で転送される情報を暗号化します。このコマンド自身は暗号化されずにリモートシステムに送信されることに注意してください。それ以降の転送はすべて暗号化されます。
ファイルサイズが 2G バイト (231 バイト) 以上の場合の rcp の動作については、largefile(5) を参照してください。
rcp コマンドでは、IPv6 を使用できます。詳細は ip6(7P) のマニュアルページを参照してください。現在のところ、IPv6 は Kerberos V5 認証ではサポートされません。
Kerberos 認証を使用する rcp セッションの場合、各ユーザーは自分のホームディレクトリの .k5login ファイルに、専用の認証リストを持つことができます。このファイルの各行には、形式 principal/instance@realm の Kerberos 主体名が入っている必要があります。~/.k5login ファイルが存在する場合、起点ユーザーが ~/.k5login ファイルに指定された主体の 1 人であると認証された場合にのみ、起点ユーザーのアカウントにアクセス権が付与されます。~/.k5login ファイルが存在しない場合、authenticated-principal-name -> local-user-name マッピング規則を使用して、起点ユーザーの認証された主体名をローカルアカウント名にマッピングできる場合にのみ、起点ユーザーのアカウントにアクセス権が付与されます。.k5login ファイル (アクセス制御用) が処理されるのは、Kerberos 認証が行われるときだけです。
次の属性については、attributes(5) のマニュアルページを参照してください。
属性タイプ |
属性値 |
---|---|
使用条件 |
SUNWrcmdc |
CSI |
対応済み |
cpio(1), ftp(1), rlogin(1), rsh(1), setfacl(1), tar(1), in.rshd(1M), hosts.equiv(4), krb5.conf(4), attributes(5), largefile(5), krb5_auth_rules(5), inet(7P), inet6(7P), ip6(7P)
rcp の目的は、別々のホスト間でファイルをコピーすることです。このため、たとえば次のような指定で、あるファイルをそのファイル自体にコピーしようとすると、
example% rcp tmp/file myhost:/tmp/file |
ファイルが壊れてしまいます。
コピーの対象がディレクトリではなくファイルである場合、rcp が正常に失敗しないことがあります。
また、リモートホスト上の $HOME/.profile ファイルに指定されているコマンドからの出力によって、処理が正しく行われないこともあります。
rcp でサードパーティコピーを行うには、ソースホストがリモートホスト上で コマンドを実行することを許可されていなければなりません。
rcp では、シンボリックリンクの処理が正しく行われません。シンボリックリンクや名前付きパイプが含まれているディレクトリをリモートコピーする場合は、tar または cpio コマンドを rsh コマンドにパイプして使用してください。詳細については、tar(1) と cpio(1) を参照してください。
リモートホストを指定する際のメタキャラクタを引用符で囲まないと、解釈不可を示すエラーメッセージが出力されます。
ACL をサポートしていないファイルシステムに ACL をコピーすると、rcp は失敗します。
rcp は、ユーザー名、ホスト名、ドメインの処理を除いて CSI 対応が可能です。
どちらか一方のリモートマシンで Solaris を実行していない場合に、rcp を使用してサードパーティコピーを実行するとき、その終了コードは信頼できません。つまり、終了コードが正常終了を示していても、エラーが発生している可能性があります。あるいは、終了コードが異常終了を示していても、コピーは完全に成功している可能性があります。
名前 | 形式 | 機能説明 | オプション | 使用法 | 終了ステータス | ファイル | 属性 | 関連項目 | 注意事項