Galileo Computing < openbook >
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung


'Wie werde ich Unix-Guru' als Buch bestellen
A. Willemer
Wie werde ich UNIX-Guru
I  ANWENDUNG
Know-How für Unix/Linux-User: Einführung, Shell, Befehle, Hilfe, Arbeit mit Dateien, Editoren, Reguläre Ausdrücke, nützliche Tools, Hardware.

II  ADMINISTRATION
Tools, Systemstart, Benutzer verwalten, Hardware konfigurieren, Software installieren, Datensicherung, Tuning, Kernel

III  NETZWERK
Client/Server Systeme, TCP/IP, Routing, IPv6, Internet-Dienste, DHCP, Webserver, Firewalls

IV  DAS X-WINDOW SYSTEM
Die grafische Oberfläche von UNIX einrichten und nutzen

V  PROGRAMMIERUNG VON SHELLSKRIPTEN
Automatisieren von Tasks durch Shell-Skripte.

VI  PERL
Interpreter, Syntax, Variablen, Steuerung, Funktionen, UNIX-Aufrufe, GUIs mit Tk

VII  PROGRAMMIERWERKZEUGE
C-Compiler, Analyse-Tools, CVS, yacc, diff

VIII  UNIX-SYSTEMAUFRUFE
UNIX-Befehle in eigenen Programmen nutzen

IX  LITERATUR
Weiterführende Literatur zu UNIX und LINUX

 
Galileo Computing / <openbook> / "Wie werde ich UNIX-Guru ?"
« Terminaldienst (telnet) TCP/IP-Dienste Wenn Sicherheit vorgeht: die »

Unterabschnitte
  • Die Datei .rhosts und hosts.equiv
  • Remote Copy (rcp)
  • rlogin
  • Befehlsausführung (rsh, rcmd und rexec)

r-Kommandos

Das ständige Authentifizieren beim Anmelden innerhalb eines LANs (Local Area Network; siehe S. lan) ist in der Praxis sehr lästig. Darum gibt es die Möglichkeit, direkt auf die ferne Maschine zuzugreifen. Ein Anwender erteilt einem Benutzer einer anderen Maschine die Berechtigung, seinen Zugang zu benutzen, indem er eine Datei namens .rhosts anlegt. Darin werden die Computer und Benutzer aufzählt, die ein direktes Zugriffsrecht über die Kommandos rcp, rlogin und rsh haben sollen.

Nach einer korrekten Konfiguration arbeiten die Befehle, ohne das Passwort zu verlangen. Wie so oft stehen Bequemlichkeit und Sicherheit umgekehrt proportional zueinander. Darum sind diese Protokolle auch sinnvollerweise im LAN und nicht im Internet einzusetzen. Die drei r-Kommandos rcp (remote copy), rsh (remote shell) und rlogin (remote login) entstammen dem BSD und sind auf allen UNIX-Derivaten zu finden.

Die Datei .rhosts und hosts.equiv

Die r-Kommandos sollen Anwendern, die auf zwei Hosts ein Benutzerkonto haben, erlauben, sich selbst den direkten Zugang zu den eigenen Ressourcen auf dem anderen Rechner zu erlauben. Dazu legen Sie im Wurzelverzeichnis des eigenen Heimatverzeichnisses eine Datei namens .rhosts an. Sie darf nur für den Besitzer schreib- und lesbar sein. In dieser Datei stehen die Namen der Rechner, von denen ein Zugriff über rlogin, rcp oder rsh auf diesen Rechner erlaubt sein soll.

Da der Anwender vielleicht einen anderen Benutzernamen auf dem fremden Rechner haben könnte, ist es auch möglich, hinter dem Rechnernamen noch eine Anwenderkennung aufzuführen. Jeder eingetragene Benutzer hat die Berechtigung von dem fremden Rechner ohne Passwort auf dem lokalen Rechner einzuloggen und frei Daten hin und her zu kopieren.

Alternativ kann der Systemadministrator in der Datei /etc/hosts.equiv Maschinen aufführen, denen er eine pauschale Gleichstellung bzgl. rlogin und rcp einräumen möchte. Das bedeutet, dass alle Benutzer, die auf beiden Maschinen existieren, frei per rlogin und rcp arbeiten können. Beim Eintrag eines Rechners werden auch alle Drucker für diesen Rechner freigegeben. Diese Datei darf nur Schreib- und Leserecht für den Besitzer haben und muss root gehören. Eine solche pauschale Freischaltung wird aber normalerweise nur dann eingerichtet, wenn beispielsweise mit zwei parallelen Servern gearbeitet wird oder wenn man im privaten Netz ohne Internetzugang arbeitet. Beispiel für eine /etc/hosts.equiv:

+gaston willemer
+idefix
+ pm7500
+@awfriends

Die erste Zeile erlaubt dem Anwender willemer auf gaston den freien Zugriff ohne Passwort. In der zweiten Zeile wird allen Anwendern von idefix der freie Eintritt gestattet.

Die dritte Zeile enthält einen gravierenden Fehler: Hier steht ein Leerzeichen zwischen dem Plus und dem Hostnamen pm7500. Das einzelne + wird so interpretiert, dass jeder(!) Rechner freien Zugriff hat. Dass der alleinstehende pm7500 dieses Recht auch hat, versteht sich dann von selbst.

In der vierten Zeile wird der Netzgruppe awfriends (siehe S. netgroup) ein solcher Zugriff eingeräumt. Sie muss in der Datei /etc/netgroup definiert sein.

In allen Fällen müssen die Rechnernamen natürlich in der Datei /etc/hosts stehen oder durch einen Namensdienst aufgelöst werden.

Das Sicherheitsrisiko liegt nicht in erster Linie darin, dass neben dem Administrator auch Benutzer Rechte weitergeben können. Denn letztlich ist das Eintragen eines Rechnernamens in der .rhosts immer noch wesentlich besser als die Weitergabe des Passwortes. rlogin hat sogar gegenüber telnet den Vorteil, dass das Passwort bei der Kommunikation nicht über das Netzwerk übermittelt wird. Es kann also nicht abgehört werden. Das kleinere Problem besteht darin, dass wenn ein Zugang des Benutzers geknackt ist, die anderen Zugänge auch offen sind. Das hört sich schlimmer an als es ist. Normalerweise verwendet der Benutzer auf verschiedenen Rechnern des LAN vermutlich sowieso die gleichen Passwörter und wenn der Eindringling einen Zugang kennt, kennt er alle. Problematischer ist der Angriff mit einer gefälschten IP-Nummer. Ist in der .rhosts ein Notebook oder ein Rechner eingetragen, der nicht ständig im Netz steht, kann ein Angreifer seinerseits mit einem Notebook mit eben dieser IP-Nummer ins Netz gehen und sich direkt einloggen, ohne das Passwort zu kennen.

Remote Copy (rcp)

Mit dem Befehl rcp ist es möglich, über Rechnergrenzen hinweg zu kopieren. Dabei ist die Syntax nur wenig komplizierter als die des Befehls cp.

rcp Optionen Quelle Ziel

Lediglich die Argumentbeschreibung ist etwas verändert. Ist Quelle oder Ziel auf einem anderen Rechner, wird vor den Pfadnamen der Rechnername gefolgt von einem Doppelpunkt gesetzt. Dies kann bei der Quelle und auch beim Ziel erfolgen. Werden sowohl als Quelle als auch als Ziel fremde Rechner angegeben, ist rcp in der Lage, zu erkennen, dass es effizienter ist, die Kopie direkt zwischen den beiden Rechnern auszutauschen, als die Daten zu holen, um sie gleich anschließend wieder zu versenden.

rcp idefix:/etc/hosts* ./test

Mit diesem Befehl werden vom Rechner idefix alle Dateien, die auf die Maske /etc/hosts* passen, in das im aktuellen Verzeichnis liegende test kopiert. test muss natürlich ein Verzeichnis sein, da anzunehmen ist, dass der Befehl mehrere Dateien kopieren wird. Werden die Dateien auf dem fremden Rechner nicht mit absolutem Pfad angegeben, wird das Heimatverzeichnis als Ausgangspunkt verwendet.

rcp verwendet als Serverdienst den rshd, also eine Remote Shell. Über diese wird auf der Gegenstation der rcp-Client mit der Option -f aufgerufen, mit dem die eigentliche Übertragung stattfindet. Die Option -f ist in der Manpage nicht dokumentiert, da sie ausschließlich dazu dient, den gegenüberliegenden rcp in eine Art »Servermodus« zu versetzen. Dem rcp auf der Gegenseite werden als Parameter gleich noch die Dateinamen mit gegeben. Es gibt also keinen rcpd.

rlogin

Mit dem Befehl rlogin eröffnen Sie eine Terminalsitzung auf dem Zielrechner unter Ihrer eigenen Benutzerkennung. Voraussetzung ist, dass Sie auf der fremden Maschine ebenfalls eine Benutzerkennung besitzen und die Datei .rhosts auf dem fremden Rechner den aktuellen Computer eingetragen hat. In diesem Fall wird kein Kennwort und kein Passwort ausgetauscht und damit kann es auch nicht abgehorcht werden. Versuchen Sie einen rlogin auf einen nicht entsprechend vorbereiteten Rechner, wird rlogin davon ausgehen, dass die Kennung die gleiche ist wie auf dem aktuellen Rechner und das Passwort für die Zielmaschine anfordern.

Sie können das Einloggen auf eine fremde Maschine noch weiter vereinfachen, indem Sie einen Link von rlogin erstellen und dem Link den Namen eines Rechners geben. rlogin prüft beim Aufruf, ob es unter einem anderen Namen aufgerufen wurde und verwendet dann diesen Namen als Zielmaschine.

silver> ln -s `which rlogin` gaston
silver> gaston
Last login: Thu Mar 21 09:52:09 from gaston.willemer.edu
Have a lot of fun...
gaston>

In der ersten Zeile wird ein symbolischer Link von dem Dateinamen gebildet, den der Befehl which liefert, mit dem Ziel gaston. Dieser zeigt dann auf den vollständigen Pfad von rlogin. Nun können Sie gaston aufrufen. Über den symbolischen Link wird rlogin gestartet. Das Programm rlogin stellt fest, dass der Name unter dem es gerufen wurde, gaston lautet und verbindet zu gaston.

Befehlsausführung (rsh, rcmd und rexec)

Das Programm rsh dient dazu, ein Kommando auf einem fremden Rechner ausführen zu können. Auf einigen Systemen hat rsh den Namen rexec. SCO nennt den Befehl rcmd (remote command). Der Name rsh ist hier für die restricted shell, einer lokalen Shell mit eingeschränkten Rechten vergeben.

rsh host Befehl

Gegenüber rlogin wird rsh eingesetzt, wenn Skripten oder einzelne Programme auf anderen Maschinen Prozesse gestartet werden sollen. Das kann beispielsweise im Zusammenhang mit einer Fernsteuerung der Fall sein. Auch wenn ein Login aufgrund begrenzter Lizenzen ein weiteres Mal nicht möglich ist, kann man mit rsh oft noch ein paar Abläufe starten.

Mit der Option -l kann der Benutzer angegeben werden, unter dessen Kennung der Befehl ausgeführt werden soll.



« Terminaldienst (telnet) | TCP/IP-Dienste | Wenn Sicherheit vorgeht: die »
 
 Zum Katalog
Zum Katalog
Wie werde ich UNIX-Guru?
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 UNIX/Linux

PHP 4-Workshop

Einstieg in Python

Perl fürs Web

MySQL 4

GNOME 2.0
 Empfehlung

Einstieg in XML
 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
Info

 MyGalileo
Der Service für registrierte Leser:
Zu MyGalileo
Info



Copyright © Galileo Press GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.
[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de