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 zu wechseln, je nachdem, was Sie erreichen möchten: einen Server zu verwalten, eine Anwendung mit eingeschränkten Rechten auszuführen, Probleme mit dem Datei zugriff zu beheben oder Benutzerkonten umzugestalten.
Das Ändern des „Benutzers“ 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/einen 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
Der Dateibesitz steuert den Zugriff. Wenn die Berechtigungen falsch sind – was häufig nach Migrationen, Wiederherstellungen oder Bereitstellungen vorkommt – „ändern Sie den Benutzer“, indem Sie den Besitz neu zuweisen, damit das richtige Konto Dateien lesen/schreiben kann. - Ändern der Benutzeridentitätsattribute (Benutzername, UID, Gruppen)
Dies ist Kontoverwaltung: einen Benutzer umbenennen, seine UID ändern oder die Gruppenmitgliedschaft anpassen (z. B. sudo-Zugriff gewähren). 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 selbstbewusst 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: Bei 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 ändern“ eines bereits laufenden Prozesses in den meisten praktischen Szenarien. 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, welcher Benutzer einen Dienst ausführt (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):
Hinzufügen:
Anwenden:
Überprüfen:
Ändern des Dateibesitzes (Ändern des „Benutzers“ für Dateien)
chown (Besitzer ändern)
Besitzer ändern:
Besitzer und Gruppe ändern:
Rekursiv (Vorsicht):
Symlinks beibehalten (Ändern der Linkziele vermeiden):
Fortgeschrittener Tipp: Bei großen Verzeichnissen 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 Benutzernamen, UID, Gruppen (Kontomodifikation)
Einen Benutzer umbenennen (Benutzername)
Auch das Heimatverzeichnis verschieben/umbenennen:
Gruppennamen ebenfalls aktualisieren (optional):
UID ändern
Nach dem Ändern der UID den Dateibesitz 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:
Dateibesitzer ändern:
Kontodetails ändern:
