Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ login(1) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

exec(1)

newgrp(1)

sh(1)

su(1)

loginlog(4)

passwd(4)

profile(4)

environ(5)

login(1)                                                           login(1)

NAME
     login - Sich neu am System anmelden

SYNTAX
     login [benutzerkennung [umgebung ...]]

BESCHREIBUNG
     In der Korn-Shell ist login ein eingebautes Shell-Kommando, in der
     Bourne-Shell wird /usr/bin/login aufgerufen.

     login kann sowohl vom Anwender als auch vom System aufgerufen werden:

     -  Wenn Sie sich neu am System anmelden, wird das Kommando login vom
        System aufgerufen.

     -  Wollen Sie login in der Bourne-Shell als Kommando aufrufen, dann
        muß die aktuelle Login-Shell damit überlagert werden. Sie müssen
        deshalb das Kommando mit exec login aus der Login-Shell aufrufen.
        Die aktuelle Shell ist beendet, wenn login gestartet wird. Es ent-
        steht kein neuer Prozeß; das erkennen Sie daran, daß sich die Pro-
        zeßnummer nicht ändert.

     login führt folgendes aus:

     -  Es fragt das Kennwort der angegebenen Benutzerkennung ab.

     -  Es macht das HOME-Verzeichnis zum aktuellen Verzeichnis. Der Varia-
        blen HOME hat login den Namen des Login-Verzeichnisses zugewiesen,
        das für die angegebene Benutzerkennung in /etc/passwd eingetragen
        ist.

     -  Es initialisiert die Standard-Shell-Variablen mit dem entsprechen-
        den Standardwert (siehe Arbeitsweise des Kommandos login).

     -  Es überlagert sich mit dem Programm, das für diese Benutzerkennung
        in der Datei /etc/passwd festgelegt ist. Ist für die angegebene
        Benutzerkennung in der Datei /etc/passwd als Startprogramm
        /usr/bin/sh eingetragen, so überlagert sich login mit einer neuen
        Login-Shell. Diese Shell erledigt folgendes:

     -  Sie führt die Datei /etc/profile aus.

     -  Sie führt die Datei $HOME/.profile aus, falls Sie diese Datei ange-
        legt haben.

     Deshalb gilt ab jetzt die Shell-Umgebung, die für diese Benutzerken-
     nung definiert ist. Wenn Sie Ihre aktuelle Shell-Umgebung und Ihr
     aktuelles Verzeichnis beibehalten, aber trotzdem Ihre Benutzerkennung
     wechseln wollen, verwenden Sie statt login das Kommando su(1).






Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

login(1)                                                           login(1)

     Ist in der Datei /etc/default/login die Zeile CONSOLE=Gerätename eines
     Terminals definiert, so können Sie sich als root nur an dem Terminal
     anmelden, das als Konsole definiert ist.

   Vor dem Aufruf beachten

     Damit Sie sich am System anmelden können, muß die angegebene Benutzer-
     kennung in der Datei /etc/passwd eingetragen sein. Ist dies nicht der
     Fall, wenden Sie sich an den Systemverwalter.

     Bestehen die Angaben für login ausschließlich aus Großbuchstaben, dann
     geht login davon aus, daß das angesprochene Terminal nur Großbuchsta-
     ben verarbeitet.

     benutzerkennung
          Benutzerkennung, unter der Sie sich neu am System anmelden wol-
          len. Diese Benutzerkennung muß in der Datei /etc/passwd eingetra-
          gen sein.

          benutzerkennung nicht angegeben:

          Das Kommando login fordert die Benutzerkennung in der nächsten
          Zeile an.

          Ist in der Datei /etc/shadow ein Kennwort für diese Benutzerken-
          nung vereinbart, fordert login Sie anschließend auf, das Kennwort
          einzugeben.

          Ihre Eingabe wird am Bildschirm nicht angezeigt und wird auch in
          keiner Datei mitprotokolliert.

     umgebung
          Wertzuweisung an eine Umgebungsvariable, die Sie entweder in der
          Form yyy oder xxx=yyy angeben. Die Wertzuweisung können Sie zur
          Ausführungszeit oder bei der Eingabe Ihrer Benutzerkennung einge-
          ben. xxx ist der Name einer Umgebungsvariablen. yyy ist ein Wert,
          der einer Umgebungsvariablen zugewiesen werden soll. Mit dem
          Gegenschrägstrich entwerten Sie einzelne Zeichen innerhalb von
          yyy, wie z. B. Leer- oder Tabulatorzeichen.

          xxx=yyy  Die Umgebungsvariable xxx erhält den Wert yyy. Ältere
                   Werte von bereits gesetzten Umgebungsvariablen werden
                   überschrieben, mit zwei Ausnahmen: PATH und SHELL können
                   auf diese Weise nicht verändert werden.

          yyy      Die Umgebungsvariable Lnummer erhält den Wert yyy.
                   nummer beginnt bei 0 und wird weitergezählt, solange
                   noch Werte yyy vorhanden sind.






Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

login(1)                                                           login(1)

   Arbeitsweise des Kommandos login

     Das Kommando login vergleicht die angegebene Benutzerkennung und das
     angegebene Kennwort mit den entsprechenden Einträgen in den Dateien
     /etc/passwd und /etc/shadow. Wenn alle Angaben korrekt sind, werden
     Sie unter dieser Benutzerkennung am System angemeldet.

     Sind die Angaben nicht korrekt, wird nach fünf mißlungenen Anmeldever-
     suchen die Leitung zum Terminal unterbrochen. Ebenso wird verfahren,
     wenn Sie sich nicht innerhalb einer bestimmten Zeit erfolgreich ange-
     meldet haben.

     Beim Anmelden am System führt login der Reihe nach die folgenden Auf-
     gaben aus:

     -  login sucht zur angegebenen Benutzerkennung die Benutzernummer
        (UID) und die Gruppennummer (GID) in der Datei /etc/passwd.

        Das Betriebssystem verwaltet die Benutzerkennungen intern nur unter
        ihrer Benutzer- und Gruppennummer.

     -  login trägt die Benutzerkennung in die Datei /var/adm/utmp ein.
        Diese Datei enthält Informationen über alle Benutzer, die aktuell
        am System angemeldet sind.

        Auf diese Datei greift das Kommando who(1) zu.

     -  login trägt die Benutzerkennung in die Datei /var/adm/wtmp ein.
        Wenn diese Datei existiert, werden dort alle An- und Abmeldungen
        fortlaufend protokolliert.

     -  login gibt aus, wann Sie sich unter dieser Benutzerkennung das
        letzte Mal angemeldet haben. Diese Information enthält die Datei
        /var/adm/lastlog.

     -  login versorgt die folgenden Umgebungsvariablen mit Standardwerten:
        ___________________________________________________________________
       | Variable |  Zuweisung:                                           |
       |__________|_______________________________________________________|
       | HOME     |  Name des Login-Verzeichnisses (aus /etc/passwd)      |
       |__________|_______________________________________________________|
       | LOGNAME  |  Login-Benutzerkennung (aus /etc/passwd)              |
       |__________|_______________________________________________________|
       | MAIL     |  /var/mail/benutzerkennung                            |
       |__________|_______________________________________________________|
       | SHELL    |  /usr/bin/sh (aus /etc/passwd)                        |
       |__________|_______________________________________________________|







Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

login(1)                                                           login(1)

        ___________________________________________________________________
       | Variable |  Zuweisung:                                           |
       |__________|_______________________________________________________|
       | TZ       |  definierte Zeitzone (aus /etc/default/login bzw.     |
       |          |  /etc/TIMEZONE)                                       |
       |__________|_______________________________________________________|
       | PATH     |  definierter Suchpfad (aus /etc/default/login)        |
       |__________|_______________________________________________________|
       | LANG     |  NLS-Variable zur Definition einer internationalisier-|
       |          |  ten Umgebung                                         |
       |__________|_______________________________________________________|
       | TTY      |  Nummer des Terminals                                 |
       |__________|_______________________________________________________|
       | TERM     |  Typ des Terminals                                    |
       |__________|_______________________________________________________|
       | USER     |  Login-Benutzerkennung                                |
       |__________|_______________________________________________________|

     Weitere Informationen zu diesen Umgebungsvariablen finden Sie in der
     Beschreibung des Kommandos sh(1). Hier erfahren Sie auch, wie Sie
     diese Standardwerte ändern und zusätzliche Umgebungsvariablen definie-
     ren können.

     -  login macht das Login-Verzeichnis, das in der Datei /etc/passwd für
        diese Benutzerkennung eingetragen ist, zum aktuellen Verzeichnis.

     -  login startet das Programm, das in der Datei /etc/passwd für diese
        Benutzerkennung eingetragen ist. Normalerweise wird /usr/bin/sh als
        Login-Shell gestartet [siehe sh(1)]. Diese Shell überlagert login.

     Ist der Programmname in /etc/passwd der Eintrag *, dann wird das ange-
     gebene Login-Verzeichnis zum Root-Verzeichnis. D. h. bei Dateinamen,
     die mit Schrägstrich beginnen, wird von diesem Verzeichnis aus
     gesucht. Weiter wird login auf der neuen Root-Struktur erneut ausge-
     führt.

   Die Arbeit am Terminal beginnen

     Nach dem Einschalten des Terminals erscheint die Schreibmarke am Bild-
     schirm. Abhängig vom Typ des Terminals fragt der Systemprozeß getty
     anschließend oder nach Drücken von CTRL-D nach der Benutzerkennung und
     übergibt die Benutzerkennung an login. login fragt dann nach dem zuge-
     hörigen Kennwort. (Schlägt das Login fehl, so fragt anschließend login
     erneut nach der Benutzerkennung.)

     Das gleiche gilt, wenn Sie Ihre letzte Sitzung mit CTRL-D beendet
     haben.

     Bevor Sie also Ihre Arbeit am Terminal beginnen können, müssen fol-
     gende Systemprozesse tätig sein:




Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

login(1)                                                           login(1)

     -  /etc/init startet für alle angeschlossenen Terminals den Systempro-
        zeß getty. Für jedes Terminals wird also ein neuer Prozeß erzeugt.

     -  /etc/getty gibt den Begrüßungsbildschirm aus und überlagert sich
        nach dem Einlesen der Benutzerkennung mit login.

     Wenn Sie sich erfolgreich am System angemeldet haben, überlagert sich
     login mit dem in der Datei /etc/passwd eingetragenen Startprogramm.
     Das ist in der Regel die Login-Shell /bin/sh. Wenn Sie diese Login-
     Shell mit CTRL-D beenden, beenden Sie den aktuellen Prozeß, d. h.
     /etc/init startet erneut den Systemprozeß /etc/getty.

FEHLERMELDUNGEN
     Login incorrect

     Diese Fehlermeldung kann folgende Ursachen haben:

     -  Sie haben sich bei der Eingabe der Benutzerkennung oder des Kenn-
        wortes vertippt.

        Das Kommando login fordert erneut Ihre Angaben an.

     -  Diese Benutzerkennung ist noch nicht eingerichtet.

        Wenden Sie sich an den Systemverwalter.

     -  Das Kennwort hat sich geändert.

        Wenden Sie sich an den Systemverwalter.

     No shell

     Der Eintrag für diese Benutzerkennung in der Datei /etc/passwd ist
     fehlerhaft oder Sie haben unter dieser Benutzerkennung kein Ausführ-
     recht für die entsprechende Shell.

     Wenden Sie sich an den Systemverwalter.

















Seite 5                      Reliant UNIX 5.44               Gedruckt 11/98

login(1)                                                           login(1)

     unable to change directory to ""

     Das Login-Verzeichnis für diese Benutzerkennung ist nicht eingerich-
     tet.

     Wenden Sie sich an den Systemverwalter.

     Cannot open password file

     Die Datei /etc/passwd ist nicht vorhanden oder kann von login nicht
     gelesen werden.

     Wenden Sie sich an den Systemverwalter.

     No utmp entry. You must execute "exec login" from the lowest level "sh".

     login findet seinen Eintrag in der Datei /var/adm/utmp nicht, d. h.
     login ist nicht als Login-Prozeß gestartet worden. Rufen Sie
     exec login aus der Login-Shell auf.

INTERNATIONALE UMGEBUNG
     Die Umgebungsvariable LCMESSAGES bestimmt die Sprache der Meldungs-
     texte. Die Umgebungsvariable LCTIME bestimmt das Format der Datums-
     und Zeitangaben.

     LCCTYPE bestimmt die Zeichenklassen und die Zeichenkonvertierung.

     Wenn LCMESSAGES, LCTIME oder LCCTYPE nicht oder als leere Zeichen-
     kette definiert ist, wird der Wert von LANG als Standardwert für die
     jeweils nicht gesetzte oder leere Variable herangezogen. Ist auch LANG
     nicht oder als leere Zeichenkette definiert, verhält sich das System
     so, als wäre es nicht internationalisiert.

     Die Umgebungsvariable LCALL bestimmt die gesamte internationale Umge-
     bung. LCALL hat Vorrang vor allen anderen Umgebungsvariablen im
     Bereich der Internationalisierung.

     Hat eine der Variablen für die internationale Umgebung einen ungülti-
     gen Wert, verhält sich das System so, als wäre keine Variable gesetzt.

     Es wird empfohlen, für Kennungen und Kennwörter nur Zeichen aus dem
     für portable Dateinamen vereinbarten Zeichensatz (Portable Filename
     Character Set) zu verwenden. 8-Bit-Daten sind unter Umständen nicht
     portabel zu nichtinternationalisierten Systemen.










Seite 6                      Reliant UNIX 5.44               Gedruckt 11/98

login(1)                                                           login(1)

BEISPIELE
     Beispiel 1

     Die Benutzerin rosa möchte sich unter der Benutzerkennung harald neu
     am System anmelden. Sie arbeitet mit der Bourne-Shell. In der Datei
     /home/harald/.profile ist das Bereitzeichen der Shell umdefiniert:
     PS1=$USER

     $ pwd
     /usr/rosa/prog
     $ id
     uid=104(rosa) gid=12(gruppe12)
     $ exec login harald
     password:

     Es erfolgt nun die verdeckte Eingabe des Kennworts für harald. login
     gibt nach einer erfolgreich durchgeführten Anmeldung Informationen
     über den Zeitpunkt und das Terminal der letzten Anmeldung aus.

     harald: pwd
     /home/harald

     Beispiel 2

     Mit su bleibt beim Wechsel der Benutzerkennung die aktuelle Arbeitsum-
     gebung erhalten:

     $ pwd
     /usr/rosa/prog
     $ id
     uid=104(rosa) gid=12(gruppe12)
     $ su harald
     password:

     Es erfolgt nun die verdeckte Eingabe des Kennworts für harald.

     $ pwd
     /usr/rosa/prog
     $ echo $USER
     rosa
     $ id
     uid=100(harald) gid=10(other)












Seite 7                      Reliant UNIX 5.44               Gedruckt 11/98

login(1)                                                           login(1)

HINWEISE
     login existiert sowohl als externes Kommando (/usr/bin/login) als auch
     als eingebautes Shell-Kommando (Built-in) der Korn-Shell ksh(1). Für
     die Ausführung von /usr/bin/login erzeugt die Shell einen neuen Pro-
     zeß.

     Bei der Verwendung von login können sich Abweichungen im Verhalten
     ergeben, je nachdem, welches Kommando benutzt wird. Die möglichen
     Abweichungen sind nicht eigens beschrieben.

DATEIEN
     /etc/motd
          Enthält die Login-Nachricht für alle Benutzer.

     /etc/nologin
          Wenn diese Datei existiert, ist ein Login nur für den Systemver-
          walter (root) möglich. Führt ein anderer Benutzer in diesem Fall
          ein Login durch, wird der Inhalt der Datei /etc/nologin ausgege-
          ben.

     /etc/passwd
          Enthält alle eingerichteten Benutzerkennungen.

     /etc/profile
          Wird von jeder Login-Shell ausgeführt. Diese Datei erstellt der
          Systemverwalter.

     /etc/shadow
          Enthält verschlüsselte Paßwörter.

     /var/adm/utmp
          Enthält Informationen über die Anmeldungen der Benutzer, die
          aktuell am System angemeldet sind.

     /var/adm/loginlog
          Enthält Informationen über mißlungene Login-Versuche.

     /var/adm/lastlog
          Protokolliert für jede Benutzerkennung den Zeitpunkt und das Ter-
          minal der letzten Anmeldung am System.

     /var/adm/wtmp
          Wenn diese Datei existiert, werden dort alle An- und Abmeldungen
          fortlaufend protokolliert.

     /var/mail/benutzerkennung
          Enthält Post für diese Benutzerkennung.







Seite 8                      Reliant UNIX 5.44               Gedruckt 11/98

login(1)                                                           login(1)

     $HOME/.profile
          Shell-Prozedur, die jeder Benutzer in seinem HOME-Verzeichnis
          einrichten kann. Sie wird von der Login-Shell nach /etc/profile
          ausgeführt.

          Achtung:

          Die C-Shell wertet $HOME/.profile nicht aus, siehe csh(1).

SIEHE AUCH
     exec(1), newgrp(1), sh(1), su(1), defaultpasswd(4), loginlog(4),
     passwd(4), profile(4), environ(5).










































Seite 9                      Reliant UNIX 5.44               Gedruckt 11/98

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