Bei der Arbeit in einer Mehrbenutzer-Linux-Umgebung ist es oft wichtig, zu wissen, mit welchem Benutzerkonto Sie gerade angemeldet sind. Egal, ob Sie Server verwalten, Automatisierungsskripte erstellen oder Probleme mit Berechtigungen beheben, Linux bietet mehrere Befehle, um Ihren aktuellen Anmeldenamen anzuzeigen.

Verwendung des whoami-Befehls(empfohlen und am einfachsten)

Der Befehl whoami ist der einfachste Weg, um den aktuellen Benutzernamen anzuzeigen.

Befehl:

whoami

Wie es funktioniert:

  • Liest die effektive Benutzer-ID (EUID) des aktuellen Prozesses aus.
  • Schaut in der Datei /etc/passwd nach dem zugehörigen Benutzernamen.
  • Zeigt immer an , wer man im Moment ist.

🔹 Bester Anwendungsfall:

  • Bei der Verwendung von sudo oder beim Benutzerwechsel zeigt “whoami” den aktiven Benutzer an.

Verwendung des id-Befehls 🧩 (ausführlichere Informationen)

Der id-Befehl liefert mehr als nur Ihren Benutzernamen – er zeigt die Benutzer-ID (UID), die Gruppen-ID (GID) und die Gruppenmitgliedschaften an.

Befehl:

id -un

Alternativ dazu, ohne Flags:

id

Wie es funktioniert:

  • Verwendet die Benutzerdatenbank des Systems, um aktuelle Identitäts- und Gruppeninformationen anzuzeigen.

  • -u → Zeigt die UID an.

  • -n → Druckt den Benutzernamen anstelle der numerischen IDs.

🔹 Bester Anwendungsfall:

  • Wenn Sie auch Gruppenmitgliedschaften oder -privilegien kennen müssen.

Verwenden des Befehls logname 🖥️ (Login-Session-spezifisch)

Der Befehl logname zeigt den ursprünglichen Benutzernamen an, der zum Starten der Sitzung verwendet wurde.

Befehl:

logname

Hauptunterschied:

  • logname gibt immer den Benutzernamen zurück, mit dem Sie sich bei der Sitzung angemeldet haben.

  • Wenn Sie den Benutzer über su oder sudo gewechselt haben, wird immer noch der ursprüngliche Benutzername angezeigt.

🔹 Bester Anwendungsfall:

  • Wenn Sie wissen müssen, wer die Sitzung gestartet hat.


4. Verwendung des Befehls “who” 🧑‍💻 (Sitzungsinformationen)

Der Befehl who zeigt alle derzeit angemeldeten Benutzer und ihre Sitzungsdetails an.

Befehl:

who am i

Beispiel Ausgabe:

john tty1 2025-08-29 09:12

Wie funktioniert es?

  • Liest Sitzungsdaten aus /var/run/utmp.

  • Zeigt den ursprünglichen Login-Benutzernamen, das Terminal und den Login-Zeitstempel an.

🔹 Bester Anwendungsfall:

  • Bei der Überprüfung von laufenden Sitzungen oder Mehrbenutzerumgebungen.

Verwendung der Umgebungsvariablen $USER 🌿 (schnellste Methode)

In den meisten Linux-Distributionen wird Ihr aktueller Benutzername in der Umgebungsvariablen $USER gespeichert.

Befehl:

echo $USER

Beispiel-Ausgabe:

john

Wie es funktioniert:

  • Holt den Wert der Variable $USER, die bei der Anmeldung gesetzt wurde.

  • Leichtgewichtig und sehr schnell.

🔹 Bester Anwendungsfall:

  • Ideal für Shell-Skripte und zum schnellen Abrufen von Benutzernamen.

Erweiterte Anwendungsfälle

a) Innerhalb von Shell-Skripten

#!/bin/bashecho "Skript ausgeführt von: $USER"
  • Nützlich für die automatische Protokollierung.

b) Überprüfung der angemeldeten Benutzer auf einem Server

who

Ausgabe Beispiel:

john pts/0 2025-08-29 10:20 (192.168.1.10) alice pts/1 2025-08-29 10:30 (192.168.1.15)
  • Zeigt alle aktiven Benutzer an.

c) Kombinieren Sie mit ps für Prozessverantwortliche

ps -u $BENUTZER
  • Zeigt alle Prozesse an, die dem aktuellen Benutzer gehören.

Sicherheitsüberlegungen

  • Server mit mehreren Benutzern: Vergewissern Sie sich immer, wer der aktuelle Benutzer ist, bevor Sie privilegierte Befehle ausführen.

  • Sudo-Kontext: Verwenden Sie “whoami” anstelle von $USER, um das Spoofing von Umgebungsvariablen zu vermeiden.

  • Skripte protokollieren: Bevorzugen Sie id -un für eine genaue Berichterstattung über den Benutzernamen.

Schlussfolgerung

Linux bietet mehrere Befehle, um Ihren aktuellen Anmeldenamen anzuzeigen, aber jeder dient einem etwas anderen Zweck:

  • Verwenden Sie“whoami” für die aktive Benutzeridentität.
  • Verwenden Sie“id -un”, wenn Sie auch Gruppeninformationen benötigen.
  • Verwenden Sie“logname”, um herauszufinden, wer sich ursprünglich angemeldet hat.
  • Verwenden Sie echo $USER für schnelle Nachforschungen und Shell-Skripting.

Das Verständnis dieser Unterschiede ist für die Systemverwaltung, die Automatisierung von Skripten und die Sicherheitsprüfung von entscheidender Bedeutung.