在本地主机和远程主机之间或者在两个远程主机之间传输文件。
rcp [ -p] [ -F] [ -k realm ] { { 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 命令可以在本地主机和远程主机之间、两台远程主机之间或者同一远程主机的文件之间复制一个或多个文件。
远程目标文件和目录需要 一个指定的 Host: 参数。如果远程主机名称 没有指定为源或目标, rcp 命令等同于 cp 命令。本地文件和目录名不需要 Host: 参数。
如果 Host 没有前缀 User@ 参数,就在远程主机上 使用本地用户名称。如果输入 User@ 参数,就使用该名字。
如果没有指定或全限定远程主机上的文件或目录的路径,路径会解释为从远程用户帐号所在的主目录开始。除此以外,必须在远程主机上解释的任何元字符,必须使用 \ (反斜杠)、"(双引号)或者 '(单引号)引用起来。
缺省情况下,保留许可权方式和一个已存在目标文件的所有权。通常,如果目标文件不存在,目标文件的许可权等同于在目标主机上的 umask 命令(在 Korn shell 中的特殊命令)修改的源文件的许可权方式。 如果设置 rcp 命令的 -p 标志,源文件修改时间和方式就保留在目标主机上。
远程主机中输入的用户名确定主机上 rcp 命令所使用的文件访问权限。 除此以外,提供给目标主机的用户名确定了结果目标文件的所有权和访问方式。
如果满足了下面的某一条件,就允许访问远程主机:
虽然可以为 $HOME/.rhosts 文件设置任何许可权,但是推荐将 .rhosts 文件的许可权设置成 600(只能由所有者读写)。
除前述的条件外,如果远程用户帐号没有一个已经定义的密码, rcp 命令也允许访问远程主机。然而,由于安全性原因, 推荐在所有用户帐号上使用密码。
只有满足下面所有条件时,才允许访问远程主机:
不要使用 rcp 命令 复制命名管道,或 FIFO(使用 mknod -p 命令创建的特殊文件)。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 不是当前认证方法,就会忽略此标志。 |
只有在至少满足下面的某一条件时才允许访问远程主机:
为安全性起见,任何 $HOME/.klogin 文件必须 由远程用户所有,并且只有 AIX 所有者标识对 .klogin 才有读写访问 (权限 = 600)。
此命令返回如下的出口值:
0 | 成功完成。 |
>0 | 发生错误。 |
在下面的示例中,在远程主机的 /etc/hosts.equiv 文件中列出本地主机。
rcp localfile host2:/home/eng/jane
本地主机上的文件 localfile 复制到远程主机 host2。
rcp host1:/home/eng/jane/newplan host2:/home/eng/mary
文件 /home/eng/jane/newplan 从远程主机 host1 复制到远程主机 host2。
/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 | 链接到 AIX 安全 /usr/bin/rsh,如果可应用,它调用 SP Kerberos 4 rcp 例程。 |
参考 IBM Parallel System Support Programs for AIX: Administration Guide 安全章节以获得概述。在下面的 Web 站点:http://www.rs6000.ibm.com/resource/aix_resource 中访问此出版物。
参阅 IBM Parallel System Support Programs for AIX: Command and Technical Reference 中的 “RS/6000 SP Files and Other Technical Information”章节以获得其它 Kerberos 信息。在下面的 Web 站点:http://www.rs6000.ibm.com/resource/aix_resource 中可以访问此出版物。
cp 命令、ftp 命令、rlogin 命令、rsh 命令、telnet 命令、tftp 命令和 umask 命令。
SP 命令:k4init、k4list、k4destroy、lsauthpar、chauthpar 和 Kerberos。
环境变量:KRBTKFILE
kvalid_user 功能。
.rhosts 文件格式和 hosts.equiv 文件格式。
《AIX 5L V5.2 系统管理指南:通信与网络》中的『网络概述』。
《AIX 5L V5.2 系统用户指南:通信与网络》中的『安全 Rcmds』。