Ü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.