1.TCP/IP各类远程访问操作
2.系统信息:rwho;ruptome;ping
3.远程访问权限:.rhosts
4.远程注册:rlogin
5.远程复制文件:rcp
6. 远程执行:rsh
TCP/IP远程访问操作
上一讲,我们具体谈了一下,关于协议的概念和TCP/IP协议的基础知识;结构和TCP/IP协议组中的各类子协议。下面我们就要结合实际情况,谈一下,关于在TCP/IP协议基础上的网络远程访问操作命令。
基于TCP/IP协议的网络通讯软件包使用远程访问的命令,是由UC Berkely 为 Arpanet 开发设计的。
它允许您登陆到另一个系统中,并从一个系统复制文件到另外一个系统。它能取得关于一个系统的信息,比如:当前谁正在注册。调用一个系统的地址时,这些远程命令适用域名或IP地址。和TCP/IP远程访问命令一样,域名开始也是为Arpanet上使用而设计的。许多TCP/IP命令可以和用在Internet上的网络通讯功能相比较。例如,用TCP/IP的rlogin命令可以远程注册到一个系统上,它和Telnet相似。rcp命令能远程复制文件,它执行和ftp相同的功能。TCP/IP命令的不同之处是它们提供给用户的易用和易控制性。您能很容易的访问在不同的Unix或Linux系统中的账号,并且能控制访问这些账号但没有提供口令的用户。
事实上您能提供给不同用户关于您的账号的一种组权限。
1.TCP/IP网络系统信息:rwho;ruptome;ping
这些命令是一些基于TCP/IP协议的命令,通过他们,您能从网络中的不同系统上去的信息。您能找到谁正在注册,得到另一个系统中用户的信息,或查询一个系统是否存在连接或正在运行。
例如:
rwho命令和who命令的功能很相似。它显示网络中的每一个系统的当前注册用户。
$rwho
violet aaa:ycc1 Janu 10 05:43
garnet bbb:ycc2 Janu 10 05:10
命令:ruptime 可以显示网络中的每个系统信息。此信息能显示出每个系统是如何执行。
ruotime 显示系统是否运行,它运行了多久,系统中的用户数和系统在最后5;10;15分钟内的系统负荷。
$ruptime
violet up 11+05:43, 10 users, load 1.20 1.10
garnet up 11+05:43, 30 users,load 1.50 1.30
命令ping能见撤出系统是否启动和运行,能否正常连接。ping命令加上您想检测的系统名作为参数,下面的例子将检测violet 是否启动并正常连接在网络上。
$ping violet
violet is alive
$
如果您想检测的系统已经关机,将会得到如下响应,这种情况下,garnet是关闭并没有连接到网络中。
$ping garnet
no answer from garnet
$
2.远程访问权限:.rhosts
您能用.hosts 文件控制使用TCP/IP命令对你账号的访问。用户能用标准的编辑器,如:Vi 来创建然账号中的.rhosts文件。它必须位于用户的主目录。
下面的例子中,使用者显示文件.rhosts文件的内容
$cat.rhosts
garnet aaa
ciolet bbb
使用.rhosts 文件是一种允许用户不提供口令便访问你系统的简单方法。如果需要禁止此用户访问,只需简单的从文件.rhosts中删除系统名和用户名即可。如果一个用户的注册名和系统名在文件.rhosts中,那么此用户即可不提供口令直接访问系统。
并不是所有的远程注册操作都需要这种访问形式(你能用输入口令的方式来替代);但一些远程命令要求有.rhosts文件,像远程复制文件或远程执行Linux命令。如果你想在远程系统的账号中接待这些命令,此账号的.rhosts文件中就必须有你的注册名和系统名。
通过.rhosts对某一系统进行访问时,也允许你使用TCP/IP命令直接访问系统中您的其他账号。你不需要线注册到这些账号中。可以把系统中你的其他账号作为当前注册账号的扩展。不管文件中的哪个账号,都可以使用frcp命令从一个目录复制到另外一个目录。命令rsh,可以在您的其他账号中接待任何Linux命令。
3.远程注册:rlogin
你可能在网络中的不同系统上都有属于自己的账号,或者可以访问别人在另一个系统上的账号。要访问别的系统中的账号,就必须先在当前系统注册,接着通过网络远程注册到账号所在的系统中。
用命令:rlogin 可以远程注册别的系统。命令参数应是一个系统名。命令将把你连接到一个系统中并开始注册过程。
用rlogin的注册过程同一般注册过程有所不同,用rlogin时用户不被提式输入注册名。你将被马上提示输入口令。输入口令后,你即可进入远程系统的各个账号。
用rlogin注册时,假设注册名是相同的,因为大多数人在用rlogin访问别的系统中的用户名一般和本地的注册名是相同的。然而,当远程系统中的注册名和本地系统的不同时,使用选项1-允许你输入远程系统账号中不同的注册名。语法如下:
$rlogin system-name -1 login-name
在下面的例子中,用户aaa注册到violet的系统中:
$rlogin violet-1 aaa
password
$
一旦注册到远程系统中,你就能执行任何命令。可以用exit;CTRL-d 或logout(TCSH 或 C-shell)结束连接。
4.远程复制文件:rcp
你能用命令rcp从远程系统复制文件到本地系统。rcp执行文件传输的功能,它的操作命令和cp命令相似,但它是通过网络连接到另一个系统。执行命令rcp时要求远程系统的.rhosts文件中已经有了你的本地系统名和注册名。命令rcp用关键字rcp开头,参数为源文件名和复制的目标文件名。为了指定文件在远程系统中,你需要在文件名千放置一个系统名,两者之间使用冒号分隔,如下所示:
$rcp system-name:source-file slytem-name:copy-file
当复制一个文件到远程系统中时,复制的目标文件将时远程文件,它将要求带有系统名。而源文件在本地系统中,就不需要系统名了:
$rcp source-file remote-system-name:copy-file
在下面的例子中,用户从自己的系统中复制文件aaa到远程系统violet并重更名为bbb:
$rcp aaa violet:bbb
从远程系统中复制一个文件到本地时,员文件是远程文件,它要求带有系统名。而复制目标文件在你的系统中,不需要系统名:
$rcp remote-sytem-name:source-file copy-file
在下面的例子中,用户从远程系统之间复制整个目录:
rcp命令,加上 -r 选项将从一个系统复制一个目录和它的子目录到另一个系统。像cp命令一样,rcp要求一个源目录和复制目录。在远程系统中的目录要求表示远程系统名和目录名的冒号,以及目录名。当从你的系统复制目录到一个远程系统时,则在远程系统中的目录需要远程用户名。
$rcp-r source-directory remote-system-name:copy-directory
下面是:使用者把远程系统中的目录复制到本地,远程系统中的源文件需要标示系统名。
$rcp-r aaa violet:bbb
当从你的系统复制一个远程系统中的目录到本地时,在远程系统中的源文件要加远程系统名。
$rcp-r remote-system-name:source-directory copy-directory
在下面例子中,使用者把远程系统中的目录aaa,复制到本地的目录:bbb中:
$rcp-r violet:aaa bbb
同时,你可以用星号指定名字,或用圆点引用当前目录。对于shell的特殊字符,是由您的本地系统进行解释转换,而不是远程系统。为了使远程系统解释转换一个特定字符,你必须通过某种方式引用它。
为了复制远程系统中所有带扩展名.c 的文件到你的本地系统时,你必须用特殊字符-星号:*.c 来指定所有扩展名为.c的文件。
下面的例子中,在系统violet中带.c 扩展名的文件被复制到使用者的本地系统中。
注意:星号是通过一个反斜杠引用。而最后的圆点,表示当前的目录,并没有被引用。它是由你的系统解释转换的
$rcp violet:\*.c
下面的例子,是目录report将从使用者的本地系统,复制到远程系统的当前目录。
注意:圆点被引用,它将被远程系统解释转换。
$rcp -r report violet:\
5.远程执行:rsh
你可能需要在远程系统中执行一个命令。rsh命令将在远程Linux系统上执行一个命令,并把结果显示到你的系统中。当然,你的系统名和注册名必须在远程系统中的.rhosts文件中,命令rsh有两个一般参数,一个系统名和一个Linux命令。
语法如下:
$rsh remote-sytem-name Linux-command
在下面例子中,rsh命令将在远程系统violet中执行一个ls命令以列出在violet中的目录/home/robert中的文件。
$rsh violet ls /home/robert
除非是引用特定字符,否则它将被本地系统解释转换,对于控制标准输出的特定字符更是如此,象重定向或管道字符。
下面的例子中,列出了远程系统上的文件,并把它们传送到本地系统中的标准输出。重定向操作由本地系统解释,并把输出改向到本地系统中的文件:myfile 中:
$rsh violet ls /home/robert>myfile
如你引用一个特定字符,它将成为Linux命令的一部分被远程系统解释。引用重定向操作符将允许你在远程系统中执行重定向操作。
下面的例子中,引用了一个重定向操作符。它变成Linux命令的一部分,包括命令参数,文件名myfile。命令ls产生一系列文件名并把它们重定向到远程系统中的一个文件myfile中。
$rsh violet ls /home/robert@#>@#myfile
对于管道操作也是如此。
下面例子,第一个命令输出一系列文件到本地的打印机中。标准的输出能通过管道输出到你的在线打印机中;第二个命令中,一系列文件将输出到远程系统的打印机上。管道线被远程系统解释。输送标准输出到远程系统的打印机上。
$rsh violet ls /home/robertlpr
$rsh violet ls /home/robert @# @# lpt
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/