rcp 命令

用途

在本地主机和远程主机之间或者在两个远程主机之间传输文件。

语法

rcp [ -p] [ -F] [ -k realm ] [-m] {{ User@Host:File | Host:文件 | 文件 } { 用户@主机:文件 | 主机:文件 | 文件 | 用户@主机:目录 | 主机:目录 | 目录 } | [ -r] { 用户@主机:目录 | 主机:目录 |目录 } { 用户@主机:目录 | 主机:目录 | 目录 }}

描述

使用 /usr/bin/rcp 命令可以在本地主机和远程主机之间、两台远程主机之间或者同一远程主机的文件之间复制一个或多个文件。

远程目标文件和目录需要 一个指定的 Host: 参数。 如果远程主机名 没有指定为源或目标,rcp 命令等同于 cp 命令。 本地文件和目录名不需要 Host: 参数。
注: RCP 命令假定: (冒号) 会终止主机名。 当想要在文件名中使用 : 时,在文件名前面使用 /(斜杠)或者使用完整路径名,包括 /。

如果 Host 没有前缀 User@ 参数,就在远程主机上 使用本地用户名称。 如果输入 User@ 参数,就使用该名称。

如果没有指定或全限定远程主机上的文件或目录的路径,路径会解释为从远程用户帐号所在的主目录开始。 此外,必须在远程主机上解释的任何元字符都必须使用以下内容引用:\(反斜杠) , a"(双引号) ,或 a'(单引号)..........

文件许可权和所有权

缺省情况下,保留许可权方式和一个已存在目标文件的所有权。 通常,如果目标文件不存在,目标文件的许可权等同于在目标主机上的 umask 命令(在 Korn shell 中的特殊命令)修改的源文件的许可权方式。 如果设置了 RCP command -p 标志,那么将在目标主机上保留源文件的修改时间和方式。

为远程主机输入的用户名确定了 rcp 命令在该主机上所使用的文件访问权。 除此以外,提供给目标主机的用户名确定了结果目标文件的所有权和访问方式。

使用标准认证

如果满足了下面的某一条件,就允许访问远程主机:

  • 本地主机包含在远程主机 /etc/hosts.equiv 文件中,而远程用户不是 root 用户。
  • 本地主机和用户名包含在远程用户帐户上的 $HOME/.rhosts 文件中。

虽然可以为 $HOME/.rhosts 文件设置任何许可权,但建议将 .rhosts 文件的许可权设置成 600(只能由所有者读写)。

除前述的条件外,如果远程用户帐号没有一个已经定义的密码, rcp 命令也允许访问远程主机。 但是,出于安全性原因,推荐对所有的用户帐户使用密码。

对于 Kerberos 5 认证

仅当下列所有条件都得到满足时远程主机允许访问:

  • 本地用户有当前的 DCE 凭证。
  • 将本地系统和远程系统配置成 Kerberos 5 认证(在一些远程系统中,这可能不是必需的。 这是守护程序侦听 klogin 端口时必需的)。
  • 远程系统接受 DCE 凭证作为访问远程帐户足够的凭证。 有关附加信息,请参阅 kvalid_user 函数。
rcp 和命名管道

不要使用 rcp 命令 复制命名管道,或 FIFO(使用 mknod -p 命令创建的特殊文件)。 rcp 命令在其复制的文件上使用 open 子例程,且这个子例程阻塞块设备,如 FIFO 管道。

限制

SP Kerberos V4 rcp 执行路径不支持远程到远程的复制,因为 Kerberos 不支持转发凭证。 在这些情况下,您将收到的消息指示您没有凭单,必须使用 基 init 登录。 应该从远程源主机上发出此消息。 请参阅示例部分,以了解如何使用 Kerberos 来执行远程到远程复制。

标志

描述
-p 只有当用户有 root 用户权限或者是目标的所有者时,才保留在发送到目标的副本中的源文件方式和修改时间。 没有此标志时,目标上的 umask 命令修改目标文件的方式,并且目标文件的修改时间设置为文件接收的时间。

当不使用此标志时,被授予的 umask 是保存在适当数据库中的值。 它不是通过发出 umask 命令设置的值。 由 umask 命令产生的许可权和所有权值不影响保存在数据库中的那些值。

-r 只适用于目录,将源目录中的每个文件和子目录复制到目标目录。
-f 转发凭证。 此外,远程系统上的凭证将被标记为可转发的(允许它们被传输到另一个远程系统)。 如果 Kerberos 5 不是当前的认证方法,该标记将被忽略。 如果当前 DCE 凭证未被标记为可转发,认证将失败。
-k 如果与本地系统域不同,允许用户指定远程站的域。 在这些用途上,域和 DCE 单元是同义的。 如果 Kerberos 5 不是当前的认证方法,该标记将被忽略。
-M 支持文件名中的元字符。

参数

描述
主机:文件 指定远程目标文件的主机名(Host)和文件名 (File),以 :(冒号)分隔。
注: 因为 RCP 命令假定: (冒号) 终止主机名,所以您必须在嵌入在本地文件和目录名称中的任何冒号之前插入 \ (反斜杠)。
用户@主机:文件 指定用户名 (User @ ),rcp 命令使用此用户名设置传输文件的所有权、主机名(Host)和远程目标文件的文件名 (File)。 为远程主机输入的用户名确定了 rcp 命令在该主机上所使用的文件访问权。
文件 指定本地目标文件的文件名称。
主机:目录 指定远程目标目录的主机名(Host)和目录名 (Directory)。
注: 因为 RCP 命令假定: (冒号) 终止主机名,所以您必须在嵌入在本地文件和目录名称中的任何冒号之前插入 \ (反斜杠)。
用户@主机:目录 指定 RCP 命令用于设置已传输文件的所有权,主机名 (主机) 和远程目标目录的目录名称 (目录) 的用户名 (用户@)。 为远程主机输入的用户名确定了 rcp 命令在该主机上所使用的文件访问权。
目录 本地目标目录的目录名。

退出状态

本命令返回以下退出值:

描述
重大安全事件数量 成功完成。
>0 发生错误。

安全性

只有在至少满足下面的某一条件时才允许访问远程主机:
  • 本地用户标识在认证数据库中作为主体列出且已经执行 kinit 获得认证单。
  • 如果 $HOME/.klogin 文件存在,它必须位于目标系统上本地用户的 $HOME 目录中。 本地用户必须与允许 rsh 到此帐户的任何用户或服务一起列出。 此文件执行的功能与 .rhosts 文件类似。 此文件中的每一行应该 以“principal.instance@realm.”的格式包含一主体。 如果起始用户 认证为 . klogin 中指定的主体之一,就授权此帐户访问。 如果没有 .klogin 文件,帐户所有者授予访问权。

出于安全考虑,任何$HOME/HOME/.klogin文件都必须归远程用户所有,只有AIX®所有者 ID 才有读写.klogin 的权限(权限 = 600)。

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 已从本地主机复制到用户的主目录jane在远程主机上host2并保留所有模式和修改时间。 远程文件 /home/jane/.rhosts 包括指定本地主机和用户名的记录。
  4. 本示例显示了当目标和服务器的认证都为 Kerberos 4 时,root 用户如何在远程主机上发出 rcp 命令。 root 用户必须位于认证数据库中,且必须在本地主机上发出了 kinit。 在本地主机上发出该命令以将文件 stuff 从 SP 上的节点 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;' 
    root 用户将环境变量 KRBTKTFILE 设置为临时凭单高速缓存文件的名称,然后通过发出 rcmdtgt 命令来获取服务凭单。 rcp 使用此服务凭单来进行从 r05n07 主机到 r05n05 主机的认证。

文件

描述
$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 更多信息,请参阅《 IBM 并行系统支持程序: AIX 命令与技术参考》中的 RS/6000 “SP文件及其他技术信息”部分。 可通过以下 Web 站点访问此出版物:http://www.rs6000.ibm.com/resource/aix_resource