rcp用途:在本地主机和远程主机之间或者两个远程主机之间传输文件。详细用法可man rcp查看。 现在要把主机192.168.100.200的/tmp/work.sh(属主为root用户)拷贝到远程主机192.168.100.202的/tmp,配置过程如下: 1、在两台主机的/etc/hosts文件添加对方iphostname映射 在192.168.100.200的/etc/hosts添加一行内容: 192.168.100.202 tux2 在192.168.100.202的/etc/hosts添加一行内容: 192.168.100.200 tux1 2、在两台主机的root用户家目录中的.rhosts文件中添加以下内容: 格式为: 主机名 用户名 192.168.100.200的root $HOME/.rhosts中添加:tux2 root 192.168.100.202的root $HOME/.rhosts中添加:tux1 root 3、通过rcp执行远程复制 在192.168.100.200主机以root用户执行以下命令: # rcp /tmp/work.sh tux2:/tmp #此时要确保tux2主机/tmp目录下没有work.sh文件,如果有,将被自动覆盖。 如果要把192.168.100.200上的一个目录(包括子目录及其文件)复制到远程主机,可通过rcp命令参数:-r
rcp -r /tmp/test tux2:/tmp(注:test是一个文件夹) 关于/etc/hosts.equiv和$HOME/.rhosts文件的区别如下: 首先这两个文件都是和主机间的信任关系相关的,也就是允许另外一台机器上的用户不用输密码就可以rlogin到本机。但是,这两个文件之间的区别在哪里呢? 总结一下: 1.首先这两个文件里面的有效格式是一样的,也就是都可以是下面的格式 主机名 主机名 用户名 + 2.首先明确如果有远程主机想rlogin到本机,本机都要做什么 1)rlogind检查本机/etc/passwd中是否有远程的用户名,没有则拒绝访问 2)如果本机/etc/passwd中有远程的用户名,并且该用户名不是root,则先检查/etc/hosts.equiv,看看里面是否存在远程主机名,如果存在,则允许访问。 如果是root,则跳过对etc/hosts.equiv的检查,只检查“~home/.rhosts”。 3)/etc/hosts.equiv中只有远程主机名的话,表示允许远程主机上的所有非root用户可以登录本地主机,并且不需要密码 /etc/hosts.equiv 文件中如果加入了一台远程主机和一个用户,在远程主机上的那个用户(非root用户)就可以用rlogin登录本地机上的所有非root账号,而且不需要密码。 4)$HOME/.rhosts文件中如果是远程主机名的话,则只信任由远程主机上与.rhosts属主同名的用户。 $HOME/.rhosts文件中如果是远程主机名+用户名的话,则远程主机上对应的那些用户都可以登录过来到本地主机,但是在本地主机上显示的用户权限是对应$HOME的那个本地用户
|