RDP Monster

Benutzer wechseln unter Ubuntu: su, sudo und Privilege Escalation

Benutzer wechseln unter Ubuntu: su, sudo und Privilege Escalation

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 User
su 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 john

Befehl 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 service
sudo 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 command

Fü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 timeout
sudo -v

 

-H (Home): Set HOME to target user’s home

sudo -H -u username command

su – 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 john
Password:
$ echo $HOME
/root # Still shows original home!
$ pwd
/path/to/original # Still in original directory
# Mit su - (GOOD)
$ su - john
Password:
$ echo $HOME
/home/john # Correct home directory
$ pwd
/home/john # Correct directory

Zum 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 restart
su - 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

passwd

Fragt 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 info
sudo chage -M 90 john # Force password change every 90 days
sudo chage -d 0 john # Force password change on next login

Benutzerrechte und Gruppen

Benutzergruppen anzeigen

groups john # Show groups current user belongs to
groups # Show own groups
id john # Detailed UID, GID, groups

Benutzer 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 update
sudo 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/html

Beispiel 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 users
for user in user1 user2 user3; do
sudo useradd -m -s /bin/bash "$user"
echo "Please set password for $user:"
sudo passwd "$user"
done
# Add all to sudo group
for user in user1 user2 user3; do
sudo usermod -aG sudo "$user"
done

Sicherheitsaspekte

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 aging
sudo chage -M 90 -m 1 -W 7 username
# Forces change every 90 days, minimum 1 day between changes, 7-day warning

Audit und Protokollierung

All sudo commands are logged:

sudo grep COMMAND /var/log/auth.log

 

View detailed sudo history:

sudo journalctl _COMM=sudo

Restricting 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 nginx
john ALL=(ALL) /usr/bin/apt-get

Sitzungs-Timeout

# Set sudo timeout
sudo -v # Extend timeout
sudo -k # Invalidate sudo credentials

Warum 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

Stellen Sie Ubuntu-VPS-Infrastruktur mit sicheren Benutzerverwaltungsfähigkeiten über RDP.Monster bereit

 

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.

Dedicated Servers

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?

Auf modernen Systemen ist sudo zu bevorzugen.

Es ermöglicht Nachvollziehbarkeit, erfordert individuelle Passwörter und liefert vollständige Audit-Trails.

Warum funktioniert mein su-Befehl nicht?

Vielleicht kennst du das Passwort des Ziel-Users nicht.

Try sudo -u username instead if you have sudo privileges.

Kann ich den User ohne Passwort wechseln?

Ja, mit sudo: Konfiguriere sudoers mit NOPASSWD.

Bei su brauchst du immer das Passwort des Ziel-Users.

Was ist der Unterschied zwischen su - und su --login?

Sie sind identisch: beide erzeugen Login-Shells mit vollständig geladener Umgebung.

Wie lange hält das sudo-Privileg an?

Standardmäßig 15 Minuten. In der sudoers-Konfiguration anpassbar.

Kann ich mehrere Befehle als anderer User ausführen?

Ja: sudo bash -c "befehl1 && befehl2 && befehl3"

Wie sehe ich meine sudo-Berechtigungen?

Führe sudo -l aus, um die erlaubten Befehle anzuzeigen.

Warum ändert sich mein PATH beim Userwechsel?

Verwende su -, damit die komplette Umgebung des Ziel-Users (inkl. korrektem PATH) geladen wird.

Register to our reseller program

Your informations

If you have any question, contact us by clicking here !
Name(Required)
Enter your email address, you must have an account on manager.rdp.monster !

Your company

Enter your website address if you have one
Quickly explain how you're going to sell services to your customers. For example, talk to people on forums.

Wir verwenden Cookies!

Wir verwenden Cookies, um Ihre Browser-Erfahrung zu verbessern, personalisierte Anzeigen oder Inhalte bereitzustellen und unseren Traffic zu analysieren. Mit einem Klick auf „Akzeptieren“ stimmen Sie der Nutzung von Cookies zu.