Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ su(1) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

env(1)

login(1)

sh(1)

passwd(4)

profile(4)

su(4)

environ(5)

su(1)                                                                 su(1)

NAME
     su - Benutzerkennung vorübergehend wechseln (become superuser or anot-
     her user)

SYNTAX
     su [-] [benutzerkennung [arg ...]]

BESCHREIBUNG
     Mit su können Sie vorübergehend unter einer anderen Benutzerkennung
     arbeiten.

     Alle Benutzer außer dem Systemverwalter müssen nach dem Aufruf von su
     das Kennwort der Benutzerkennung angeben, unter der sie arbeiten wol-
     len. Der Systemverwalter (Benutzername root) kann ohne Kennwort in
     alle Benutzerkennungen wechseln. Durch den Aufruf von su wird eine
     Sub-Shell gestartet, wenn für die angegebene Benutzerkennung in der
     Datei /etc/passwd als Startprogramm eine Shell eingetragen ist. Ohne
     einen solchen Eintrag wird standardmäßig /usr/bin/sh gestartet. Die
     Benutzernummer der angegebenen Benutzerkennung wird zur effektiven und
     realen Benutzernummer dieses neuen Shell-Prozesses. Die Variable PATH
     [siehe sh(1)] behält den in der Arbeitsumgebung definierten Wert.
     Wechselt man in die Benutzerkennung des Systemverwalters, so erhält
     PATH den Wert der Variablen SUPATH aus /etc/default/su. Die übrige
     Arbeitsumgebung des Benutzers, der su aufruft, z. B. $USER und $HOME,
     bleibt erhalten. Möchten Sie auch die Arbeitsumgebung verändern, so
     als würden Sie sich unter benutzerkennung mit login am System anmel-
     den, verwenden Sie beim Aufruf von su die Option -.

     Alle systemweit (auch über ferne Rechner) unternommenen Versuche, mit
     su unter einer anderen Benutzerkennung zu arbeiten, werden in der
     Datei /var/adm/sulog mitprotokolliert, wenn die Variable SULOG in
     /etc/default/su definiert ist. Alle systemweit (auch über ferne Rech-
     ner) unternommenen Versuche, mit su in die Benutzerkennung des System-
     verwalters zu wechseln, auf der Konsole ausgegeben, wenn die Variable
     CONSOLE in /etc/default/su definiert ist.

     Mit <CTRL-D> beenden Sie die aufgerufene Subshell und arbeiten wieder
     unter der vorher gültigen Benutzerkennung. Es gilt dann wieder voll-
     ständig die vorherige Arbeitsumgebung.
















Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

su(1)                                                                 su(1)

   Aktuelle Benutzerkennung abfragen

     Wollen Sie überprüfen, unter welcher Benutzerkennung Sie gerade arbei-
     ten, geben Sie das Kommando id(1) ein.

   Login - Benutzerkennung abfragen

     Wollen Sie überprüfen, unter welcher Benutzerkennung Sie sich mit dem
     letzten login am System angemeldet haben, geben Sie das Kommando
     logname(1) oder das Kommando who(1) ein.

OPTIONEN
     -    Wenn Sie - angeben und in der Datei /etc/passwd für benutzerken-
          nung als Startprogramm sh eingetragen ist, dann wird die Arbeits-
          umgebung so abgeändert, als würden Sie sich unter benutzerkennung
          mit login am System anmelden. Es wird eine Login-Shell aufgerufen
          [siehe login(1)] und zuerst /etc/profile und dann das benutzer-
          spezifische $HOME/.profile ausgeführt. In .profile können Sie
          arg0 abfragen, ob es den Wert -sh oder den Wert -su hat. Im
          ersten Fall erfolgte der Aufruf vom Kommando login, im zweiten
          Fall vom Kommando su aus.

          Ist als Startprogramm nicht /usr/bin/sh sondern ein anderes pro-
          gramm eingetragen, dann wird -programm als arg0 an .profile über-
          geben. Dabei ist es egal, ob der Aufruf von login oder su aus
          erfolgte.

     benutzerkennung
          Benutzerkennung, unter der Sie vorübergehend arbeiten möchten.
          Sie benötigen hierfür das Kennwort von benutzerkennung, das Sie
          nach der Eingabe von su benutzerkennung eingeben müssen.

          Nur der Systemverwalter kann ohne Kennwort unter fremden Benut-
          zerkennungen arbeiten.

          benutzerkennung nicht angegeben:

          Sie arbeiten als Systemverwalter unter der Benutzerkennung root
          weiter, vorausgesetzt, Sie wissen das Kennwort.

     arg  Ein oder mehrere Argumente, die Sie an das in /etc/passwd einge-
          tragene Startprogramm, standardmäßig /bin/sh, übergeben. Sie kön-
          nen dieselben Argumente angeben wie beim direkten Aufruf dieses
          Programms.

          Ist das Startprogramm eine Shell, dann ist als einziges Argument
          auch -c kommando oder -r möglich.

          -c kommando
               kommando wird in der Startshell mit der Arbeitsumgebung der
               angegebenen Benutzerkennung ausgeführt.



Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

su(1)                                                                 su(1)

          -r   Eine eingeschränkte Subshell (restricted shell) wird aufge-
               rufen.

FEHLERMELDUNGEN

     su: Sorry
          Sie haben eine ungültige Benutzerkennung oder ein ungültiges
          Kennwort eingegeben.

INTERNATIONALE UMGEBUNG
     Die Umgebungsvariable LCMESSAGES bestimmt die Sprache der Meldungs-
     texte. Wenn LCMESSAGES nicht oder als leere Zeichenkette definiert
     ist, wird der Wert von LANG als Standardwert 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.

BEISPIELE
     Die folgenden Beispiele zeigen den Unterschied zwischen den Kommandos
     login und su.

     Beispiel 1

     Sie melden sich am System (login) unter der Benutzerkennung gast an
     und fragen die aktuelle Benutzerkennung (id), die Login-Benutzer-
     kennung (who am i) sowie die Umgebungsvariable LOGNAME (echo $LOGNAME)
     ab.

     $ login gast
     Password: blinde Eingabe des Kennworts von gast
     $ id
     uid=100(gast)  gid=10(other)
     $ who am i
     gast      grtty   MAR 17 15:13
     $ echo $LOGNAME
     gast

     Beispiel 2

     Sie wechseln mit su ohne die Option Bindestrich - in die Benutzerken-
     nung fritz. In dieser Arbeitsumgebung ist die Variable PS1 (Bereitzei-
     chen der Shell) auf den Wert FR gesetzt, wird aber nicht ausgewertet.
     Sie fragen nach der aktuellen Benutzerkennung (id), der Login-Benut-
     zerkennung (who am i) und der Umgebungsvariablen LOGNAME (echo
     $LOGNAME) und kehren in die Benutzerkennung gast zurück (<CTRL-D>).






Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

su(1)                                                                 su(1)

     $ su fritz
     Password: blinde Eingabe des Kennworts von fritz
     $ id
     uid=103(fritz)  gid=10(other)
     $ who am i
     gast      grtty   MAR 17 15:13

     $ echo $LOGNAME
     gast
     $ <CTRL-D>
     $ id
     uid=100(gast)  gid=10(other)

     Beispiel 3

     Sie wechseln mit su - in die Benutzerkennung fritz, in deren Arbeits-
     umgebung die Variable PS1 (Bereitzeichen der Shell) auf den Wert FR
     gesetzt ist und jetzt wegen der Option - auch ausgewertet wird. Sie
     fragen die aktuelle Benutzerkennung (id), die Login-Benutzerkennung
     (who am i) sowie die Umgebungsvariable LOGNAME (echo $LOGNAME) ab und
     rufen anschließend das Kommando logname auf. Dann kehren Sie in die
     Benutzerkennung gast zurück (<CTRL-D>).

     $ su - fritz
     Password: blinde Eingabe des Kennworts von fritz
     FR id
     uid=103(fritz)  gid=10(other)
     FR who am i

     gast      grtty   MAR 17 15:13
     FR echo $LOGNAME
     fritz
     FR logname
     gast
     FR <CTRL-D>
     $

     Beispiel 4

     Sie arbeiten mit su - -c unter der Benutzerkennung fritz in dessen
     Arbeitsumgebung und mit dessen Erlaubnis. Sie fragen die aktuelle
     Benutzerkennung (id) ab.

     $ su - fritz -c "id"
     Password: blinde Eingabe des Kennworts von fritz
     uid=103(fritz)  gid=10(other)
     $







Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

su(1)                                                                 su(1)

UMGEBUNGSVARIABLEN
     SULOG
          Wenn dieser Variablen in /etc/default/su ein Dateiname dateiname
          zugewiesen wird, werden alle Versuche, mit su eine andere Benut-
          zerkennung zu erlangen, in der Datei dateiname mitprotokolliert.
          Der Standardwert für SULOG ist /var/adm/sulog.

     CONSOLE
          Wenn dieser Variablen in /etc/default/su der Name eines Terminals
          zugewiesen wird, werden alle unternommenen Versuche, mit su root
          zu arbeiten, auf diesem Terminal mitprotokolliert. Der Standard-
          wert für CONSOLE ist /dev/console.

     PATH Der Wert dieser Variablen in /etc/default/su wird der Umgebungs-
          variablen PATH zugewiesen, wenn Sie mit su - in eine andere
          Benutzerkennung wechseln.

     SUPATH
          Wenn Sie in die Systemverwalterkennung wechseln, erhält die Umge-
          bungsvariable PATH den Wert der SUPATH-Variablen aus
          /etc/default/su.

DATEIEN
     /etc/passwd
          Systemweite Benutzer- und Kennwortdatei

     /etc/profile
          Systemweite Shell-Prozedur, die für jede Benutzerkennung von der
          Login-Shell ausgeführt wird.

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

     /var/adm/sulog
          Datei, in der systemweit alle Versuche, mit su unter einem ande-
          ren Benutzernamen zu arbeiten, mitprotokolliert werden, wenn die
          Variable SULOG auf /var/adm/sulog gesetzt ist.

     /etc/default/su
          Diese Datei enthält Werte für die Variablen SULOG, CONSOLE, PATH
          und SUPATH.

          Z. B. ist SULOG auf /var/adm/sulog gesetzt und CONSOLE auf
          /dev/console

SIEHE AUCH
     env(1), login(1), sh(1), passwd(4), profile(4), su(4), environ(5).





Seite 5                      Reliant UNIX 5.44               Gedruckt 11/98

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