Wie ändert man den Benutzer in Linux?
In Linux kann der Ausdruck „Benutzer wechseln“ mehrere verschiedene Aktionen beschreiben – einige temporär und sitzungsbasiert, andere dauerhaft und systemweit. Da Linux von Natur aus ein Multibenutzersystem ist, bietet es mehrere Möglichkeiten, Identitäten und Berechtigungen je nach dem, was Sie erreichen möchten, zu wechseln: einen Server zu verwalten, eine Anwendung mit eingeschränkten Rechten auszuführen, Probleme mit dem Datei-Zugriff zu beheben oder Benutzerkonten neu zu strukturieren.
Das Ändern von „Benutzer“ in Linux kann je nach Kontext einige verschiedene Bedeutungen haben:
- Wechseln zu einem anderen Konto in der Shell (z. B. von john zu root)
Dies wird verwendet, wenn Sie eine interaktive Terminal-Sitzung als ein anderer Benutzer benötigen – oft für Systemadministration oder um zu testen, wie sich etwas in einer anderen Kontoumgebung verhält. - Einzelne Befehle als ein anderer Benutzer ausführen
Ideal, wenn Sie nur für eine Aufgabe (wie das Neustarten eines Dienstes oder das Ausführen eines Datenbankbefehls) erhöhte Berechtigungen oder eine andere Identität benötigen, ohne Ihre Sitzung vollständig zu wechseln.
- Wechseln zu einem anderen Konto in der Shell (z. B. von john zu root)
- Ändern des standardmäßigen Anmeldebenutzers für einen Dienst/Prozess
Dienste (Webserver, Datenbanken, Apps) sollten normalerweise unter dedizierten, nicht-root Benutzern aus Sicherheitsgründen ausgeführt werden. Das Ändern des Dienstbenutzers beeinflusst, wie der Prozess ausgeführt wird und auf was er zugreifen kann. - Ändern, wer Dateien und Verzeichnisse besitzt
Die Dateieigentümerschaft kontrolliert den Zugriff. Wenn die Berechtigungen falsch sind – was häufig nach Migrationen, Wiederherstellungen oder Bereitstellungen vorkommt – „ändern Sie den Benutzer“, indem Sie die Eigentümerschaft neu zuweisen, damit das richtige Konto Dateien lesen/schreiben kann. - Ändern der Identitätsattribute des Benutzers (Benutzername, UID, Gruppen)
Dies ist Kontoverwaltung: einen Benutzer umbenennen, seine UID ändern oder die Gruppenmitgliedschaft anpassen (wie das Gewähren von sudo-Zugriff). Diese Änderungen können sich auf Anmeldungen, Berechtigungen und den Zugriff auf Dienste auswirken.
Dieser Leitfaden behandelt alle diese Szenarien, zeigt, wann man welchen Ansatz verwenden sollte, wie man dies sicher tut und welche Fehler zu vermeiden sind – damit Sie Benutzer sicher wechseln können, ohne Berechtigungen, Dienste oder Zugriffe zu brechen.
Wechseln zu einem anderen Benutzer (interaktive Shell)
su (Benutzer wechseln)
– (oder -l) lädt die vollständige Anmeldeumgebung des Zielbenutzers: Heimatverzeichnis, PATH, Shell-Profil.
Ohne -, behalten Sie einen Großteil Ihrer aktuellen Umgebung (kann verwirrend sein).
Wechseln zu root:
Sicherheitsnotiz: In vielen Distributionen erfordert su das Passwort des Zielbenutzers (z. B. root-Passwort), das oft deaktiviert ist.
sudo -i (bevorzugt für root/admin-Shells)
Gibt Ihnen eine Root-Anmeldeshell (ähnlich wie su -), unter Verwendung von Ihren sudo-Rechten anstelle des root-Passworts.
Wechseln zu einem anderen Benutzer mit einer Anmeldeshell:
Führen Sie einen einzelnen Befehl als ein anderer Benutzer aus (nicht-interaktiv)
sudo -u
Führen Sie mit einer sauberen, anmeldeähnlichen Umgebung aus:
Führen Sie einen Befehl als root aus
Ändern Sie den „effektiven Benutzer“ eines laufenden Prozesses (fortgeschrittene Realität)
Linux lässt nicht zu, dass Sie den „Benutzer“ eines bereits laufenden Prozesses in den meisten praktischen Szenarien „ändern“. Stattdessen tun Sie typischerweise:
den Prozess unter dem richtigen Benutzer neu starten
oder verwenden Sie Dienstmanager (systemd), um den Benutzer zu definieren
Um zu überprüfen, welcher Benutzer einen Prozess ausführt:
Oder:
Ändern Sie, als welcher Benutzer ein Dienst ausgeführt wird (systemd)
Die meisten Produktions-Linux-Systeme verwenden systemd. Dienste sollten als dedizierte, unprivilegierte Benutzer ausgeführt werden.
Überprüfen Sie die Dienstkonfiguration:
Suchen Sie nach:
User=Group=
Beispielüberschreibung (sichere Methode):
Fügen Sie hinzu:
Anwenden:
Überprüfen:
Ändern Sie die Dateieigentümerschaft (Ändern des „Benutzers“ für Dateien)
chown (Eigentümer ändern)
Eigentümer ändern:
Eigentümer und Gruppe ändern:
Rekursiv (Vorsicht):
Symlinks beibehalten (Vermeidung der Änderung von Linkzielen):
Fortgeschrittener Tipp: Bei großen Bäumen zuerst eine Vorschau anzeigen:
Ändern Sie Ihre aktuelle Shell-Identität vs. Ändern des Kontos selbst
Bestätigen Sie, wer Sie sind
Bestätigen Sie, wer angemeldet ist
Sehen Sie, welcher Benutzer die aktuelle Shell über sudo ausgeführt hat
Ändern Sie den Benutzernamen, UID, Gruppen (Kontomodifikation)
Einen Benutzer umbenennen (Benutzername)
Auch das Heimatverzeichnis verschieben/umbenennen:
Gruppennamen ebenfalls aktualisieren (optional):
Ändern Sie die UID (fortgeschritten; betrifft die Dateieigentümerschaft)
Nach dem Ändern der UID die Dateieigentümerschaft reparieren:
Benutzer zu einer Gruppe hinzufügen (z. B. sudo)
Überprüfen:
Schnelle „Spickzettel“
Benutzer wechseln:
Befehl als ein anderer Benutzer ausführen:
Root-Shell ausführen:
Dateieigentümer ändern:
Kontodetails ändern:
