Der su
(kurz für Substitut oder Switch User) Dienstprogramm ermöglicht es Ihnen, Befehle mit den Rechten eines anderen Benutzers auszuführen, standardmäßig des Root-Benutzers.
Mit su
ist die einfachste Möglichkeit, in der aktuellen Anmeldesitzung zum Administratorkonto zu wechseln. Dies ist besonders praktisch, wenn es dem Root-Benutzer nicht erlaubt ist, sich über sshor mit dem GUI-Display-Manager beim System anzumelden.
In diesem Tutorial erklären wir, wie man su
verwendet Befehl.
Verwendung des su
Befehl #
Die allgemeine Syntax für su
Befehl lautet wie folgt:
su [OPTIONS] [USER [ARGUMENT...]]
Beim Aufruf ohne Option das Standardverhalten von su
ist, eine interaktive Shell als root auszuführen:
su
Sie werden aufgefordert, das Root-Passwort einzugeben, und wenn Sie authentifiziert sind, wird der Benutzer, der den Befehl ausführt, vorübergehend zum Root.
Die Sitzungs-Shell (SHELL
) und Zuhause (HOME
) Umgebungsvariablen werden aus /etc/passwd
des Ersatzbenutzers gesetzt Eintrag, und das aktuelle Verzeichnis wird nicht geändert.
Um zu bestätigen, dass der Benutzer geändert wurde, verwenden Sie den whoami
Befehl:
whoami
Der Befehl gibt den Namen des Benutzers aus, der die aktuelle Shell-Sitzung ausführt:
root
Die am häufigsten verwendete Option beim Aufruf von su
ist -
(-l
, --login
). Dies macht die Shell zu einer Login-Shell mit einer Umgebung, die einem echten Login sehr ähnlich ist, und ändert das aktuelle Verzeichnis:
su -
Wenn Sie statt der in passwd
definierten eine andere Shell ausführen möchten Datei verwenden Sie das -s
, --shell
Möglichkeit. Zum Beispiel, um zu root zu wechseln und zsh
auszuführen Shell würden Sie Folgendes eingeben:
su -s /usr/bin/zsh
Um die gesamte Umgebung (HOME
, SHELL
, USER
, und LOGNAME
) des aufrufenden Benutzers, rufen Sie den Befehl mit -p
auf , --preserve-environment
Option.
su -p
Wenn der -
Option verwendet wird, -p
wird ignoriert.
Wenn Sie einen Befehl als Ersatzbenutzer ausführen möchten, ohne eine interaktive Shell zu starten, verwenden Sie -c
, --command
Möglichkeit. Zum Beispiel, um ps
aufzurufen Als root würden Sie Folgendes eingeben:
su -c ps
Um zu einem anderen Benutzerkonto zu wechseln, übergeben Sie den Benutzernamen als Argument an su
. Zum Beispiel, um zum Benutzer tyrion
zu wechseln Sie würden Folgendes eingeben:
su tyrion
Sudo vs. Su #
Bei einigen Linux-Distributionen wie Ubuntu ist das Root-Benutzerkonto aus Sicherheitsgründen standardmäßig deaktiviert. Das bedeutet, dass für root kein Passwort festgelegt ist und Sie su
nicht verwenden können um zu root zu wechseln.
Eine Möglichkeit, zu root zu wechseln, wäre, su
voranzustellen Befehl mit sudo
und geben Sie das Passwort des aktuell angemeldeten Benutzers ein:
sudo su -
Das sudo
Mit dem Befehl können Sie Programme unter einem anderen Benutzer ausführen, standardmäßig als Root-Benutzer.
Wenn dem Benutzer sudo
gewährt wird beurteilen, das su
Der Befehl wird als root aufgerufen. Ausführen von sudo su -
und dann das Benutzerkennwort einzugeben, hat denselben Effekt wie das Ausführen von su -
und geben Sie das Root-Passwort ein.
Bei Verwendung mit dem -i
Option sudo
Führen Sie eine interaktive Login-Shell mit der Umgebung des Root-Benutzers aus:
sudo -i
sudo -i
ist im Grunde dasselbe wie das Ausführen von su -
.
Der Vorteil der Verwendung von sudo
über su
ist, dass das Root-Passwort nicht von mehreren administrativen Benutzerkonten geteilt werden muss.
Mit sudo
Sie können Benutzern auch erlauben, nur bestimmte Programme mit Root-Rechten auszuführen.
Schlussfolgerung #
su
ist ein Befehlszeilendienstprogramm, mit dem Sie vorübergehend ein anderer Benutzer werden und Befehle mit dem Ersatzbenutzer ausführen können.
Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.