rsh(1) rsh(1)
NAME
rsh - Shell-Kommando am fernen Rechner ausführen (remote shell)
SYNTAX
rsh host[ -x][ -n][ -l login][ kommando][ option]
BESCHREIBUNG
Mit rsh können Sie ein Kommando an einem fernen Rechner ausführen.
Das Kommando rsh wenden Sie z. B. an, wenn
- Sie sich über den Inhalt eines Dateiverzeichnisses am fernen Rech-
ner informieren wollen
- Sie eine Datei am fernen Rechner ausdrucken wollen
Das Kommando kann nur angewendet werden, wenn der Benutzer auf dem
fernen Rechner zugriffsberechtigt ist. Zugriffsberechtigt ist der
Benutzer dann, wenn
- in der Datei .rhosts (die sich im HOME-Dateiverzeichnis der Kennung
am fernen Rechner befindet) entweder der Name seines lokalen Rech-
ners oder ein Pluszeichen + sowie die Benutzerkennung, unter der er
arbeitet, eingetragen sind oder
- auf dem fernen Rechner die gleiche Benutzerkennung existiert, unter
der er am lokalen Rechner arbeitet und der lokale Rechner in der
Datei /etc/hosts.equiv des fernen Rechners eingetragen ist.
Das Kommando kann nur dann ausgeführt werden, wenn am lokalen und am
fernen Rechner der Dämon rshd(1M) aktiv ist. Der Dämon rshd wird von
inetd(1M) gestartet.
Der Kommandointerpreter, der zur Ausführung des Kommandos auf dem fer-
nen Rechner aufgerufen wird, wird durch den Eintrag des Benutzers in
der Datei /etc/passwd bestimmt.
Wird rsh von einer Datei ausgeführt, die nicht rsh heißt, dann verwen-
det rsh diesen Namen als Namen des fernen Rechners. Wenn Sie also
unter dem Namen des fernen Rechners einen symbolischen Verweis auf rsh
einrichten, können Sie rsh einfach durch Angabe dieses Rechnernamens
aufrufen.
Stop-Signale unterbrechen nur den rsh-Prozeß auf dem lokalen Rechner.
Die Umgebungsvariablen des lokalen Rechners werden nicht an den Kom-
mandointerpreter auf der fernen Maschine weitergegeben.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
rsh(1) rsh(1)
OPTIONEN
host Der Name des fernen Rechners, an dem ein Shell-Kommando ausge-
führt wird.
Der Name des fernen Rechners muß in der Datei /etc/hosts einge-
tragen sein oder in der Datenbasis für Namen in der Internet-
Domäne. Jeder Rechner hat einen offiziellen Namen (d. h. die
Internet-Adresse in der ersten Spalte in der Datenbasis) und
einen oder mehrere frei wählbare "Spitznamen". Sie können alle
eingetragenen Namen verwenden.
-x Wird angegeben, wenn das Kommando rsh den Ende-Status des fernen
Kommandos als eigenen Ende-Status zurückgeben soll.
-n wird angegeben, wenn das Kommando rsh seine Standard-Eingabe
nicht auf das Kommando am fernen Rechner lenken soll. Die
Standard-Eingabe von rsh wird nach /dev/null umgeleitet.
Das ist z. B. dann sinnvoll, wenn die Ausgabe des Kommandos rsh
über eine Pipe an ein Programm weitergegeben wird, das selbst von
der Standard-Eingabe liest (siehe Beispiel 1).
-n wird aber auch benötigt, wenn ein rsh-Kommando in den Hinter-
grund gestartet wird.
Der Aufruf von
rsh host dd if=/dev/nrmt0 bs=20b | tar xvpBf -
führt z. B. dazu, daß sich tar vor rsh beendet. rsh versucht
dann, in die unterbrochene Pipe zu schreiben und konkurriert mit
dem Kommandointerpreter um die Standard-Eingabe, anstatt sich zu
beenden. Mit der Option -n können Sie dies vermeiden.
Vorsicht:
Dieses Problem tritt nur dann auf, wenn rsh am Anfang einer
Pipe steht und nicht von der Standard-Eingabe liest. Wenn
rsh tatsächlich von der Standard-Eingabe lesen soll, dürfen
Sie die Option -n nicht verwenden.
Rufen Sie z. B. das Kommando
tar cf - . | rsh host dd of=/dev/rmt0 obs=20b
mit der Option -n auf, dann liest rsh fälschlicherweise von
/dev/null statt von der Pipe.
-l login
Die Benutzerkennung, mit der sich der Benutzer am fernen Rechner
anmeldet. Sie muß angegeben werden, wenn Sie am fernen Rechner
unter einer anders lautenden Benutzerkennung arbeiten wollen als
am lokalen Rechner.
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
rsh(1) rsh(1)
kommando
Das Reliant UNIX Kommando, das am fernen Rechner ausgeführt wer-
den soll.
kommando nicht angegeben:
rsh benutzt rlogin, um Sie am fernen Rechner anzumelden.
option
Die Argumente, die mit dem Kommando am fernen Rechner verwendet
werden.
Arbeitsweise
Das Kommando rsh überträgt
- seine Standard-Eingabe dem Kommando am fernen Rechner
- die Standard-Ausgabe des Kommandos am fernen Rechner auf die
Standard-Ausgabe des Kommandos rsh
- die Standard-Fehlerausgabe des Kommandos am fernen Rechner auf die
Standard-Fehlerausgabe des Kommandos rsh
Interrupt-, quit- und terminate-Signale werden an das Kommando am fer-
nen Rechner weitergegeben.
Das aktuelle Dateiverzeichnis des gestarteten Kommandos wird auf das
HOME-Dateiverzeichnis des Benutzers am fernen Rechner gesetzt.
Nicht entwertete Meta-Zeichen (z. B. <, >, &) werden am lokalen Rech-
ner ausgewertet. Entwertete Meta-Zeichen werden am fernen Rechner
interpretiert.
Das Kommando rsh ist beendet, wenn sich das Kommando am fernen Rechner
beendet.
Bildschirmorientierte Programme wie z. B. ced können nicht mit dem
Kommando rsh aktiviert werden. Dafür ist das Kommando rlogin zu ver-
wenden.
BEISPIELE
Beispiel 1
Der Benutzer hans möchte sich den Inhalt des Dateiverzeichnisses
/home/hans/test auf dem fernen Rechner athen anschauen. Die Ausgabe am
Bildschirm soll überlaufgesteuert sein. Die Benutzerkennung hans ist
auch am fernen Rechner athen vorhanden.
$ rsh athen -n ls -l /home/hans/test | more
oder
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
rsh(1) rsh(1)
$ rsh athen -n ls -l /home/hans/test | pg
total 4932
drwxr-xr-x 2 hans dx 512 Mar 07 1996 hallo
-rw-r--r-- 1 hans dx 1515 Nov 14 1995 hallo1
-rw-r--r-- 1 hans dx 5865 Sep 12 10:08 test
-rwxr-xr-x 1 hans 1026 37 Dec 06 1994 test.1
.
.
.
-- More --
Beispiel 2
Der Benutzer hans möchte den Inhalt der fernen Datei
/home/hans/hallo1 am fernen Rechner athen an die lokale Datei test1
anhängen. Die Benutzerkennung hans ist auch am fernen Rechner athen
vorhanden.
$ rsh athen cat /home/hans/hallo1 >> test1
Beispiel 3
Der Benutzer hans möchte die ferne Datei /home/hans/reise1 an die
ferne Datei /home/hans/holland anhängen. Beide Dateien befinden sich
im Rechner athen. Die Benutzerkennung hans ist auch auf dem Rechner
athen vorhanden.
$ rsh athen cat /home/hans/reise1 ">>" /home/hans/holland
Beispiel 4
Ein Benutzer möchte die ferne Datei /home/emil/test im Rechner athen
am Rechner athen ausdrucken. Dem Benutzer steht am Rechner athen die
Benutzerkennung emil zur Verfügung.
$ rsh athen -l emil lpr /home/emil/test
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98
rsh(1) rsh(1)
Beispiel 5
Ein Benutzer möchte die lokale Datei /home/hans/dat am fernen Rechner
athen ausdrucken.
$ rsh athen lpr < /home/hans/dat
DATEIEN
/etc/hosts.equiv
Liste von Rechnernamen. Benutzerkennungen eines in
/etc/hosts.equiv verzeichneten fernen Rechners haben Zugang zum
lokalen Rechner, wenn sie auch dort bekannt sind.
/$HOME/.rhosts
Liste der Rechnernamen mit Benutzerkennungen, die sich unter
Ihrer Kennung anmelden dürfen.
SIEHE AUCH
rlogin(1), vi(1), named(1M), hosts(4), hosts.equiv(4).
Seite 5 Reliant UNIX 5.44 Gedruckt 11/98