Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ rshd(1M) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

rsh(1)

inetd(1M)

rshd(1M)                                                           rshd(1M)

NAME
     rshd, in.rshd - Ferner Shell-Server

SYNTAX
     in.rshd  rechner.portnummer

BESCHREIBUNG
     rshd ist der Server für das Programm rsh(1). Der Server bietet Ein-
     richtungen zur entfernten Kommando-Ausführung mit einer auf privile-
     gierten Portnummern basierenden Berechtigungsprüfung.

     rshd wird von inetd(1M) immer dann aufgerufen, wenn ein Shell-Dienst
     angefordert wird und führt folgende Schritte aus:

     1) Der Server prüft die Portnummer des Clients. Liegt sie nicht im
        Bereich zwischen 0 und 1023, bricht der Server die Verbindung ab.
        Die Rechneradresse des Clients (hexadezimal) und die Portnummer
        (dezimal) werden als Argument an rshd übergeben.

     2) Der Server liest einen Zeichenstrom vom Socket, bis ein Null-Byte
        erkannt wird (\0). Die sich daraus ergebende Zeichenkette wird als
        ASCII-Zahl, Basis 10, interpretiert.

     3) Ist die in Schritt 1 empfangene Zahl nicht Null, wird sie als Port-
        nummer einer zweiten Verbindung interpretiert, die für die Stan-
        dardfehlerausgabe stderr verwendet werden soll. Daraufhin wird eine
        zweite Verbindung zu dem angegebenen Port auf dem Rechner des
        Clients hergestellt. Die Portnummer dieser zweiten Verbindung liegt
        ebenfalls im Bereich zwischen 0 und 1023.

     4) Der Server prüft die Rechneradresse des Clients. Gehört die Adresse
        zu einem Rechner, für den in der Rechnernamen-Datenbasis kein Ein-
        trag vorhanden ist [siehe hosts(4)], bricht der Server die Verbin-
        dung ab.

     5) Auf der ersten Verbindung wird ein mit Null abschließender Benut-
        zername mit maximal 16 Zeichen ermittelt. Dieser wird als Benutzer-
        kennung für das Server-System verwendet.

     6) Auf der ersten Verbindung wird ein mit Null endender Benutzername
        mit maximal 16 Zeichen ermittelt. Dieser wird als Benutzerkennung
        für das Client-System interpretiert.

     7) Auf der ersten Verbindung wird ein auf Null endendes Kommando
        ermittelt, das an eine Shell übergeben werden soll. Die Länge des
        Kommandos wird durch die Obergrenze für die Länge der Argumentliste
        auf dem System bestimmt.








Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

rshd(1M)                                                           rshd(1M)

     8) Anschließend prüft rshd die Gültigkeit des Benutzers mit den fol-
        genden Schritten. Der Name des fernen Benutzers wird in der Paß-
        wortdatei gesucht, und in sein Home-Verzeichnis wird mit chdir ver-
        zweigt. Schlägt die Suche fehl, wird die Verbindung abgebrochen.
        Schlägt chdir fehl, wird die Prüfung für / (root) wiederholt. Han-
        delt es sich bei dem Benutzer nicht um den Systemverwalter root
        (Benutzernummer 0), wird in der Datei /etc/hosts.equiv nach einer
        Liste von berechtigten Rechnern gesucht. Befindet sich der Rechner-
        name des Clients in dieser Datei, gilt die Berechtigungsprüfung als
        erfolgreich. Schlägt die Suche fehl oder ist der Benutzer der
        Systemverwalter, wird anhand der Datei .rhosts im Home-Verzeichnis
        des fernen Benutzers der Name des Rechners und die Kennung des
        Benutzers auf dem Rechner des Clients überprüft. Schlägt diese
        Suche fehl, wird die Verbindung abgebrochen.

     9) Auf der zu stderr gehörenden Verbindung wird ein Null-Byte zurück-
        gegeben, und die Kommandozeile wird an die normale Login-Shell des
        Benutzers übergeben. Die Shell übernimmt die Ein- und Ausgaben von
        der von rshd aufgebauten Netzverbindung.

DIAGNOSE
     Die folgenden Diagnosemeldungen werden auf der zu stderr gehörenden
     Verbindung zurückgegeben, danach werden alle Netzwerkverbindungen
     abgebrochen. Ein Fehler wird durch ein führendes Byte mit dem Wert 1
     angezeigt (0 wird in Schritt 9 bei erfolgreicher Ausführung aller
     Schritte vor der Ausführung des Kommandos ausgegeben).

     locuser too long
          (lokaler Benutzername zu lang) Der Name des Benutzers auf dem
          Rechner des Clients ist mehr als 16 Zeichen lang.

     remuser too long
          (ferner Benutzername zu lang) Der Name des Benutzers auf dem fer-
          nen Rechner ist mehr als 16 Zeichen lang.

     command too long
          (Kommando zu lang) Die übergebene Kommandozeile ist länger als
          die zulässige Argumentliste (wie im System konfiguriert).

     Hostname for your address unknown.
          (Rechnername für Ihre Adresse unbekannt) Für den Rechner des
          Clients existiert in der Rechnernamen-Datenbasis kein Eintrag.

     Login incorrect.
          (Anmeldung nicht korrekt) Für den Benutzernamen existiert kein
          Eintrag in der Paßwortdatei.

     Permission denied.
          (Zugriffsberechtigung verweigert) Die oben beschriebene Berechti-
          gungsprüfung ist fehlgeschlagen.

     Can't make pipe.


Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

rshd(1M)                                                           rshd(1M)

          (Pipe kann nicht erstellt werden) Die für die Standardausgabe
          stderr benötigte Pipe wurde nicht erstellt.

     Try again.
          (Versuch wiederholen) Ein vom Server abgesetztes Kommando fork
          ist fehlgeschlagen.

DATEIEN
     /etc/hosts.equiv

SIEHE AUCH
     rsh(1), inetd(1M).










































Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026