Startseite » Blog » Benutzer wechseln unter Ubuntu: su, sudo und Privilege Escalation
Benutzer wechseln unter Ubuntu: su, sudo und Privilege Escalation
- 9. November 2025
- 22:15
- Tutorials

Einführung
Mehrere Benutzerkonten zu verwalten und zwischen ihnen zu wechseln gehört zu den Grundlagen der Linux-Administration. Ubuntu, die weltweit beliebteste Linux-Distribution, bietet mehrere Methoden, den aktiven User zu wechseln — jeweils mit eigenen Anwendungsfällen und Sicherheitsimplikationen. Wer diese Mechanismen beherrscht, kann effiziente Multi-User-Workflows, sichere Admin-Operationen und sauberes Privileg-Management umsetzen.
Dieser umfassende Leitfaden behandelt alle Methoden zum Userwechsel unter Ubuntu — von einfachen Kommandozeilen-Ansätzen bis zu fortgeschrittenen Privileg-Erweiterungstechniken. Ob geteilte Systeme, Admin-Aufgaben oder Multi-Tenant-Umgebungen: den Userwechsel zu beherrschen ist essenziell für sicheren Ubuntu-Umgang.
Ubuntu-Benutzerverwaltung verstehen
Benutzerkontotypen
Reguläre Benutzer: Standardkonten mit eingeschränkten Privilegien, beschränktem Dateizugriff und ohne die Möglichkeit, die Systemkonfiguration zu ändern.
Root-Benutzer: Superuser mit uneingeschränktem Zugriff auf alle Systemressourcen, fähig zu jeder Operation einschließlich gefährlicher.
Systembenutzer: Spezielle Konten für Systemdienste (www-data für Webserver, mysql für Datenbanken).
Sudo-Benutzer: Reguläre Konten mit delegierten Superuser-Privilegien über die sudo-Konfiguration.
Rechteerweiterung
Why Escalate?: Most administrative tasks require elevated privileges. Rather than logging in as root (dangerous), Ubuntu uses privilege escalation to grant specific elevated permissions temporarily.
Prinzipien: Operationen mit minimal notwendigen Privilegien ausführen; Zeit mit erhöhtem Zugriff minimieren; alle privilegierten Operationen auditieren.
Befehl su (Switch User)
Grundsyntax
su [OPTIONS] [USERNAME]
Switching to Another Usersu john
Prompts for the target user’s password, then switches to that account. The environment remains the user’s original environment (not recommended).Benutzerwechsel mit neuer Umgebung
su - john
The hyphen (-) loads the complete environment of the target user, including:
-
HOME-Variable, die auf das Home-Verzeichnis des Benutzers zeigt
-
PATH-Variable mit den Befehlspfaden des Benutzers
-
Shell-Konfigurationsdateien (.bashrc, .profile)
-
Arbeitsverzeichnis auf das Home des Benutzers geändert
Best Practice: Always use su - to ensure proper environment configuration.
Zum Root-User wechseln
su -
Wechselt zum Root-Benutzer mit der vollständigen Umgebung von Root. Fragt das Root-Passwort ab.
Optionen für den su-Befehl
-c (Command): Execute single command as another user without full session
su - john -c "ls -la /home/john"-l (Login): Identical to using hyphen; creates login shell
su --login john
-s (Shell): Shell für die Sitzung angeben
su - john -s /bin/zsh
-m (Preserve environment): Keep current environment while switching
su -m johnBefehl sudo (Superuser Do)
Grundsyntax
sudo [OPTIONS] COMMAND
Befehl mit erhöhten Rechten ausführen
sudo apt-get update # Update package lists (requires root)sudo systemctl restart ssh # Restart SSH servicesudo reboot # Reboot system
Interaktive Root-Shell ausführen
sudo -i
Startet eine interaktive Root-Shell, ohne sich als Root anzumelden.
Befehl als anderer Benutzer ausführen
sudo -u username commandFührt den Befehl mit den Rechten des angegebenen Benutzers aus (nicht nur root).
Optionen für den sudo-Befehl
-l (List): Display allowed commands
sudo -l
-k (Invalidate): Clear sudo credentials (requires password on next use)
sudo -k
-p (Prompt): Custom password prompt
sudo -p "Enter admin password: " apt-get update-v (Validate): Extend sudo timeoutsudo -v
-H (Home): Set HOME to target user’s home
sudo -H -u username commandsu – vs su: zentrale Unterschiede
| Funktion | su | su – |
|---|---|---|
| Umgebung | Behält die Umgebung der übergeordneten Shell | Lädt die Umgebung des Zielbenutzers |
| HOME-Variable | Bleibt im Home des ursprünglichen Benutzers | Wechselt ins Home des Zielbenutzers |
| PATH-Variable | Kann die Pfade des ursprünglichen Benutzers enthalten | Enthält die Standardpfade des Zielbenutzers |
| Shell-Konfig | Lädt weder .bashrc noch .profile | Lädt ~/.bashrc, ~/.profile |
| Arbeitsverzeichnis | Bleibt im aktuellen Verzeichnis | Wechselt ins Home des Benutzers |
| Empfohlen | Selten; mögliche Verwirrung | Immer beim Benutzerwechsel |
| Risikostufe | Höher (gemischte Umgebungen) | Niedriger (saubere Umgebung) |
Beispielunterschied
# Mit su (BAD)
$ su johnPassword:
$ echo $HOME
/root # Still shows original home!
$ pwd
/path/to/original # Still in original directory# Mit su - (GOOD)
$ su - johnPassword:
$ echo $HOME
/home/john # Correct home directory$ pwd
/home/john # Correct directoryZum Root-User wechseln
Mit su
su -
Password: (enter root password)
root@hostname:~#Mit sudo
sudo -i[sudo] password for john: (enter john's password)
root@hostname:~#Unterschiede zwischen su – und sudo -i
| Aspekt | su – | sudo -i |
|---|---|---|
| Passwort erforderlich | Root-Passwort | Passwort des aktuellen Benutzers |
| Protokollierung | Nicht protokolliert | Von sudo protokolliert |
| Audit-Trail | Minimal | Vollständiger Audit-Trail |
| Sicherheit | Geringer (erfordert das Teilen des Root-Passworts) | Höher (individuelle Verantwortlichkeit) |
| Typische Unternehmenskonfiguration | Nicht empfohlen | Recommended |
Security Note: Modern Ubuntu systems typically don’t require root password; instead, sudoers are granted authority through sudo configuration.
Befehle als anderer User ausführen
Einzelnen Befehl ausführen
sudo -u apache /usr/bin/apache2ctl restartsu - testuser -c "python /home/testuser/script.py"
Mehrere Befehle ausführen
sudo bash -c "echo 'Line 1' > /tmp/file; cat /tmp/file"
Befehle unter Beibehaltung des aktuellen Verzeichnisses ausführen
sudo -u john pwd # Prints john's home (working directory changed)sudo -u john -C pwd # Prints current directory (with -C flag)Benutzerpasswort ändern
Eigenes Passwort ändern
passwdFragt nach dem aktuellen Passwort, dann nach dem neuen Passwort (zweimal zur Bestätigung).
Passwort eines anderen Benutzers ändern (Root erforderlich)
sudo passwd john
Kein aktuelles Passwort erforderlich; fragt nach dem neuen Passwort (Root-Autorität).
Ablaufrichtlinie festlegen
sudo chage -l john # View password aging infosudo chage -M 90 john # Force password change every 90 dayssudo chage -d 0 john # Force password change on next login
Benutzerrechte und Gruppen
Benutzergruppen anzeigen
groups john # Show groups current user belongs togroups # Show own groupsid john # Detailed UID, GID, groupsBenutzer zur Gruppe hinzufügen
sudo usermod -aG groupname username
Example: Add user to sudo group
sudo usermod -aG sudo john
Benutzer aus Gruppe entfernen
sudo deluser username groupname
Neuen Benutzer erstellen
sudo useradd -m -s /bin/bash newuser
sudo passwd newuser
Options:
-
-m: Create home directory -
-s: Specify shell -
-G: Gruppen zuweisen
Praxisbeispiele
Example 1: Administrative Task with Rechteerweiterung
#!/bin/bash
# Install software update as regular user with privilege escalation
sudo apt-get updatesudo apt-get upgrade -y
echo "System update complete"
Beispiel 2: Webserver-Aufgaben ausführen
# Stop web server as specific service user
sudo -u www-data /opt/webapp/stop.sh# Check web server permissions as www-data
sudo -u www-data ls -la /var/www/htmlBeispiel 3: Datenbankwartung durchführen
# Backup database as specific user
sudo -u mysql mysqldump -u root -p database_name > backup.sql
# Run database optimization
sudo -u mysql mysql -u root -p -e "OPTIMIZE TABLE table_name;"
Beispiel 4: Stapelverarbeitung der Benutzerverwaltung
#!/bin/bash# Create multiple usersfor user in user1 user2 user3; dosudo useradd -m -s /bin/bash "$user"echo "Please set password for $user:"sudo passwd "$user"done# Add all to sudo groupfor user in user1 user2 user3; dosudo usermod -aG sudo "$user"doneSicherheitsaspekte
Passwortsicherheit
Root-Passwort: Sicher aufbewahren; niemals an nicht vertrauenswürdige Personen weitergeben
Sudo-Konfiguration: Spezifische Privilegien delegieren statt vollständigen Root-Zugriff
Passwortalterung: Erzwingen Sie regelmäßige Passwortänderungen
# Configure password agingsudo chage -M 90 -m 1 -W 7 username
# Forces change every 90 days, minimum 1 day between changes, 7-day warningAudit und Protokollierung
All sudo commands are logged:
sudo grep COMMAND /var/log/auth.log
View detailed sudo history:
sudo journalctl _COMM=sudoRestricting Rechteerweiterung
Configure sudoers file safely:
sudo visudo # Always use visudo for editing sudoers
Beispiel-sudoers-Konfiguration (limiting what john can run):
john ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginxjohn ALL=(ALL) /usr/bin/apt-getSitzungs-Timeout
# Set sudo timeoutsudo -v # Extend timeoutsudo -k # Invalidate sudo credentialsWarum Remote-Infrastruktur Userwechsel nutzt
RDP- und SSH-Infrastruktur erfordert häufig:
-
Mehrere administrative Benutzer mit unterschiedlichen Berechtigungsstufen
-
Dienstkonten für automatisierte Prozesse
-
Audit-Trails für Compliance (sudo-Protokollierung)
-
Privilegienerhöhung für administrative Aufgaben
Infrastrukturmanagement über RDP.Monster
Managing Ubuntu systems remotely requires robust, secure access:
SSH-Zugriff zur Befehlsausführung
-
Befehle zum Benutzerwechsel remote ausführen
-
Automatisierte Administration über Skripte
-
Vollständige Kontrolle über die Benutzerverwaltung
Unterstützung mehrerer Benutzerkonten
-
Administrative Benutzer erstellen
-
Privilegien angemessen delegieren
-
Audit-Trails pflegen
Sichere Remote-Administration
-
SSH-Verschlüsselung für alle Benutzerwechsel-Operationen
-
Schlüsselbasierte Authentifizierung für programmatischen Zugriff
-
Umfassende Protokollierung und Überwachung
Fazit
Benutzerwechsel und Privilegienerhöhung sind grundlegende Ubuntu-Administrationsfähigkeiten. Das Verständnis der Unterschiede zwischen su, sudo und Passwortverwaltung ermöglicht eine effektive Mehrbenutzer-Systemadministration unter Aufrechterhaltung der Sicherheit durch ordnungsgemäße Privilegiendelegation und Audit-Trails.
Moderne Ubuntu-Best-Practices bevorzugen sudo gegenüber su für die Privilegienerhöhung, was Verantwortlichkeit und umfassende Protokollierung ermöglicht und gleichzeitig die Weitergabe des Root-Passworts minimiert. Die ordnungsgemäße Konfiguration von sudoers mit Delegierung spezifischer Privilegien bietet ein hervorragendes Sicherheitsgleichgewicht zwischen Benutzerfreundlichkeit und Zugriff control.
Managing complex Ubuntu infrastructure requiring sophisticated user management and secure administrative access? RDP.Monster provides SSH-based Ubuntu VPS solutions enabling seamless user management and privilege escalation across your infrastructure. Deploy professionally-managed Ubuntu systems today.
Leistungsstarkes Ubuntu-VPS-Hosting
Erlebe volle Kontrolle und brachiale Leistung mit unseren Linux-VPS. Perfekt zum Hosten von Anwendungen, Verwalten von Servern und Optimieren deines Workflows.
Hochleistungs-Dedicated-Server
Brauchst du maximale Kontrolle und Power? Unsere Dedicated Server bieten unübertroffene Leistung für anspruchsvolle Aufgaben.
Häufig gestellte Fragen
Sollte ich su oder sudo nutzen?
Es ermöglicht Nachvollziehbarkeit, erfordert individuelle Passwörter und liefert vollständige Audit-Trails.
Warum funktioniert mein su-Befehl nicht?
Try sudo -u username instead if you have sudo privileges.
Kann ich den User ohne Passwort wechseln?
Bei su brauchst du immer das Passwort des Ziel-Users.
Was ist der Unterschied zwischen su - und su --login?
Wie lange hält das sudo-Privileg an?
Kann ich mehrere Befehle als anderer User ausführen?
Wie sehe ich meine sudo-Berechtigungen?
Warum ändert sich mein PATH beim Userwechsel?
Verwandte Artikel




