(Latest Revision: 01/10/2001)
Using Unix Remote (R) Commands
CS 3000 -- Lab Assignment #8
THE .rhosts FILE
In this lab we will experiment with rsh, rcp, and other Unix
"r-commands." First of all, if you don't have it already, make
a file called .rhosts in your home directory and inside the
file put lines like the following:
altair.csustan.edu username
arcturus.csustan.edu username
barnard.csustan.edu username
capella.csustan.edu username
castor.csustan.edu username
centauri.csustan.edu username
ceti.csustan.edu username
deneb.csustan.edu username
omicron.csustan.edu username
polaris.csustan.edu username
pollux.csustan.edu username
regulus.csustan.edu username
rigel.csustan.edu username
saiph.csustan.edu username
sirius.csustan.edu username
sol.csustan.edu username
soleil.csustan.edu username
spica.csustan.edu username
vega.csustan.edu username
zaurak.csustan.edu username
The idea is to get as many as possible of the hostnames of the Sun Ultra's.
Next change each occurrence of "username" to your username. So for example
if your username were twalker then you would change the lines above to
read:
altair.csustan.edu twalker
arcturus.csustan.edu twalker
barnard.csustan.edu twalker
capella.csustan.edu twalker
castor.csustan.edu twalker
centauri.csustan.edu twalker
ceti.csustan.edu twalker
deneb.csustan.edu twalker
omicron.csustan.edu twalker
polaris.csustan.edu twalker
pollux.csustan.edu twalker
regulus.csustan.edu twalker
rigel.csustan.edu twalker
saiph.csustan.edu twalker
sirius.csustan.edu twalker
sol.csustan.edu twalker
soleil.csustan.edu twalker
spica.csustan.edu twalker
vega.csustan.edu twalker
zaurak.csustan.edu twalker
If you aren't quite sure if you are doing this correctly, ask
me about it.
When you have the file correctly configured, save it to disk.
This will allow you to use rcp and rsh.
Scan the
man page for rhosts
now and read the part that explains what you just did.
TRY RSH
Rsh (remote shell) allows you to run a program on some other
computer besides the one you are logged into. Check out the
man page on rsh.
Pick one of the hosts above that you are not logged
into. For example, pick castor if you are not logged into
castor. (Please make a random choice.) Do this command:
rsh hostname ps -ef |grep sys
except replace hostname above with the name of the host
you picked earlier. Capture the output in a file. The command
runs the ps command (process status) on the remote
host and (locally) uses grep on the output to do a
pattern match for the string "sys." This is a way to check to
see if the syslogd program is running on the remote host. The
ouput should look something like this:
root 24195 1 0 Nov 10 ? 0:14 /usr/sbin/syslogd
If you don't see such an output then probably a system
administrator needs to restart syslogd on the remote host.
System administrators run rsh commands like the example above
quite frequently. Doing so provides an alternative to running
around and logging in to each of a group of computers to check
to see if all is well with them.
HAVE A GO WITH RCP
Rcp (remote copy) allows you to do things like copy a file from
some remote computer to your local computer (the one you are
logged into), or to copy a file from your local computer to a
remote computer. Check out the
man page on rcp.
Rcp is especially useful if you want to copy a small number of
files and you don't want to go to the trouble of establishing
an ftp connection or creating an NFS mount. You might run into
a situation like this if you are composing web pages on your
favorite local machine and you need to upload a page so you can
test to see how it looks when you fetch it from the remote web
server.
Try executing the following commands:
cd /tmp
ls
rcp hostname:/etc/motd filename
cat filename
As before, you need to replace hostname with the name of
the remote host you picked earlier. Replace filename with
some name that is not in use -- one you did notsee when
you typed ls above. Capture the output of the commands
and append it to your log file. If all went well the cat command
should display the little snippet of poetry that is the message
of the day on the remote host. (Can you correctly guess the
source of the quote? :-)
When finished, clean up by removing the file you created:
rm filename
A COMBINATION
Do these commands:
rsh hostname mkdir FooBar
rcp /etc/motd hostname:FooBar/motd
cd ~/FooBar
cat motd
Since our Network File System (NFS) implementation gives you
the same home directory on all the Sun Ultra machines, the
effect of this series of commands should be that you make a new
subdirectory of your home directory with the rsh command, and
then you copy the motd file into the new directory using the
rcp command. Then you cd into the directory and look at the
file you just put there. Kinda cool, huh?
TRY RLOGIN
Rlogin (remote login) is a Unix program that allows you to
login from a local Unix computer to a remote Unix computer.
You may be familiar with telnet. Rlogin is a lot like telnet.
One advantage of rlogin used on Unix is that it works in
combination with the .rhosts file. You can login without
giving a password if you are a trusted user listed in the
.rhosts file. Look over the
man page on rlogin.
Do these commands:
rlogin hostname
whoami
pwd
ls
logout
(Don't forget to substitute for hostname. ) You'll see
that you get logged into the remote host as yourself without
being asked for a password. This does not work with telnet.
When you log out, you just return to your login on your local
host with everything as it was before. Rlogin can be very
handy if you are doing system administration work, or if you
need to move around in your network of machines in order to
access resources like perhaps files, printers, or powerful
CPU's.
RUP
Rup is a utility for checking all the hosts on the LAN to see
if they are up and running alright. System administrators
often use such commands as rup to check on their machines. Do
the following command:
rup
Append the output to your log file. Do you see any machines
that are marked down? Are there any unusual entries? Take a
look at the
man page for rup,
and the
man page for uptime.
Append an explanation of the meaning of "load average" to your
log file.
RUSERS
Rusers will tell you who is logged onto machines around the
LAN. Do the following commands:
rusers
rusers -l
Append the output to your log file. Do you see any odd entries?
Look at the man page for
rusers.
RUPTIME AND RWHO
Ruptime
and
rwho
are the "evil twins" of rup and rusers. It isn't really
that they are evil. It's just that they rely on using
information from rwho network daemons -- programs that are
running all the time constantly sending "are you there"
messages to all the other rwho daemons. This wastes a lot of
network bandwidth. Rup and rusers don't use network bandwidth
until you actually execute them. Ruptime is similar to rup and
rwho is similar to rusers. We have disabled ruptime and rwho on
the Sun Ultra's, but you can try them out sometime on other
Unix systems.
RDIST
Rdist is a program that can place copies of a file on a whole
set of machines that you stipulate. Rdist is quite powerful.
System administrators can use it to keep software and databases
up-to-date and consistent on large networks of computers. Have
a look at the
man page for rdist.
It's beyond the scope of the course to experiment with the
actual use of rdist. However it will be good for you to get to
know about rdist now.
LAB REPORT
Send your file record to me at this address:
tester@alcyone.csustan.edu.
Make sure the subject of the e-mail reads: "R-Commands Lab."
Put your name at the top of the file before sending. If you
worked with a partner be sure to put his or her name there too.