Startseite > Paket- & Systemverwaltung > su

su: Benutzer wechseln

Der Befehl `su` steht für 'substitute user' und wird verwendet, um die Benutzer-ID der aktuellen Sitzung auf die eines anderen Benutzers zu ändern. Er wird häufig verwendet, um Administratorrechte (root) zu erlangen oder um in der Umgebung eines anderen Benutzers zu arbeiten. Die Berechtigung wird durch Passwortauthentifizierung erlangt, und es ist ein sicherheitsrelevanter Befehl.

Übersicht

`su` wird verwendet, um Befehle mit den Rechten eines anderen Benutzers in der aktuellen Sitzung auszuführen oder um zur Shell-Umgebung dieses Benutzers zu wechseln. Wenn kein Zielbenutzer angegeben wird, versucht der Befehl standardmäßig, zu root zu wechseln.

Hauptmerkmale

  • Benutzer-ID-Wechsel: Ändert die Berechtigungen des aktuellen Benutzers auf die eines anderen Benutzers.
  • Standardziel: Wenn kein Benutzername angegeben wird, wird standardmäßig versucht, zu root zu wechseln.
  • Passwortauthentifizierung: Das korrekte Passwort des Zielbenutzers muss eingegeben werden, um den Wechsel zu ermöglichen.
  • Umgebungswechsel: Mit den Optionen `-` oder `-l` kann vollständig zur Login-Shell-Umgebung des Zielbenutzers gewechselt werden.

Wichtige Optionen

Der Befehl `su` kann mit verschiedenen Optionen verwendet werden, um die Art des Benutzerwechsels und die auszuführenden Befehle zu steuern.

Optionen für den Benutzerwechsel

Optionen für die Befehlsausführung

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`su` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Anwendungsbeispiele

Lernen Sie verschiedene Möglichkeiten, den Befehl `su` zu verwenden, um Benutzer zu wechseln und bestimmte Befehle auszuführen.

Zu root wechseln (ohne Login-Shell)

su

Wechselt standardmäßig zu root, lädt aber nicht die Login-Shell-Umgebung von root. Die Umgebungsvariablen des aktuellen Benutzers können teilweise beibehalten werden.

Login-Shell zu root wechseln

su -

Wechselt zu root und lädt die vollständige Login-Shell-Umgebung von root (PATH, Home-Verzeichnis usw.). Dies ist die gebräuchlichste und empfohlene Methode.

Login-Shell zu einem bestimmten Benutzer wechseln

su -l benutzername

Wechselt zum angegebenen Benutzer 'benutzername' und lädt die Login-Shell-Umgebung dieses Benutzers.

Bestimmten Befehl als root ausführen und zurückkehren

su -c "ls -la /root"

Führt den Befehl `ls -la /root` mit root-Rechten aus und kehrt dann automatisch zum ursprünglichen Benutzer zurück. Die Shell-Umgebung wird nicht geändert.

Bestimmten Befehl als anderer Benutzer ausführen und zurückkehren

su benutzername -c "whoami"

Führt den Befehl `whoami` mit den Rechten des Benutzers 'benutzername' aus und kehrt dann zum ursprünglichen Benutzer zurück.

Tipps & Hinweise

Der Befehl `su` hat direkte Auswirkungen auf die Systemsicherheit. Daher sollten bei der Verwendung einige wichtige Punkte beachtet werden.

Sicherheit und Empfehlungen

  • Risiko der Offenlegung des root-Passworts: `su` fragt direkt nach dem root-Passwort. Wenn dieses Passwort offengelegt wird, kann das gesamte System gefährdet sein. `sudo` verwendet das Passwort des Benutzers selbst und kann Berechtigungen nur für bestimmte Befehle erteilen, was eine feinere Steuerung ermöglicht. Im Allgemeinen wird die Verwendung von `sudo` mehr empfohlen.
  • Empfehlung zur Verwendung der Login-Shell: Es wird empfohlen, `su -` (mit dem Bindestrich) zu verwenden, um die Login-Shell-Umgebung des Zielbenutzers vollständig zu laden. Dies stellt sicher, dass PATH, Umgebungsvariablen usw. korrekt gesetzt sind, um unerwartete Probleme zu vermeiden und die gleiche Wirkung wie die Arbeit in der Umgebung des Zielbenutzers zu erzielen.
  • Vermeiden Sie unnötige root-Nutzung: Wenn die erforderliche Aufgabe abgeschlossen ist, kehren Sie sofort mit dem Befehl `exit` zum ursprünglichen Benutzer zurück, um die Sicherheit zu gewährleisten. Längere Arbeiten mit root-Rechten können ein Risiko für das System darstellen.
  • Protokollprüfung: Die Verwendung von `su` wird in den Systemprotokollen (z. B. `/var/log/auth.log` oder `/var/log/secure`) aufgezeichnet. Es ist ratsam, diese Protokolle regelmäßig zur Sicherheitsüberprüfung zu überprüfen.

Gleiche Kategorie Befehle