So ermitteln Sie das aktuelle Benutzerkonto unter Linux

In der Welt von Linux steht Flexibilität und Auswahl im Vordergrund. Selbst grundlegende Aufgaben, wie die Ermittlung des aktuell angemeldeten Benutzers, lassen sich auf unterschiedliche Arten lösen. Dieses Tutorial stellt einige der schnellsten und unkompliziertesten Methoden vor, um diese Information zu erhalten.

Warum ist es überhaupt wichtig, die Identität des aktiven Nutzers zu kennen? Oftmals ist der Besitzer des Rechners auch der einzige Benutzer. Es kommt aber auch vor, dass mehrere Nutzerkonten eingerichtet werden, um beispielsweise Familienmitgliedern den Zugriff zu ermöglichen. Wenn man sich via Remote-Shell auf einem Server bewegt, kann es ebenfalls hilfreich sein, den aktuellen Benutzernamen schnell in Erfahrung zu bringen. Wie also findet man diesen über die Kommandozeile heraus, wenn man vor einer Sitzung ohne aktiven Benutzer sitzt?

Beginnen wir mit der simpelsten Methode: einem Blick auf die Eingabeaufforderung. Standardmäßig zeigen Linux-Distributionen den Benutzernamen direkt in der Prompt an. So einfach kann es gehen, und es ist nicht mal ein Befehl notwendig!

Sollte der Nutzer seine Eingabeaufforderung angepasst haben, muss eine andere Methode her. Der Befehl who liefert die gewünschten Infos.

who

Die Ausgabe von who zeigt den Benutzernamen, das Terminal, in dem sich der Benutzer angemeldet hat, sowie Datum und Uhrzeit des Login-Vorgangs. Im Falle einer Remote-Session wird auch der Herkunftsort der Anmeldung angezeigt.

Im Vergleich dazu gibt der Befehl whoami eine prägnante Antwort:

whoami

Das selbe Ergebnis erhält man durch die Rückgabe der Umgebungsvariable $USER:

echo $USER

Der Befehl w ist kürzer und liefert umfangreichere Informationen.

w

w zeigt den Benutzernamen sowie Zusatzinformationen. Beachte, dass w alle angemeldeten Nutzer auflistet. Man muss daher das passende Terminal des gesuchten Benutzers identifizieren. Wenn die Anmeldung direkt am Linux-Rechner erfolgt, wird dies mit pts/0 angegeben, bzw. mit :0 in der Ausgabe von w.

Der Befehl w liefert die Bootzeit, Betriebszeit und die durchschnittliche Systemlast der letzten fünf, zehn und fünfzehn Minuten sowie die folgenden Nutzerinformationen:

  • BENUTZER: Der Benutzername.
  • TTY: Der Terminaltyp. Dies ist meistens ein pts (Pseudo-Teleprinter). :0 entspricht der physischen Tastatur und dem Bildschirm.
  • FROM: Der Hostname bei Remote-Verbindungen.
  • [email protected]: Die Anmeldezeit.
  • IDLE: Die Leerlaufzeit. ?xdm? im Screenshot deutet auf einen X-Windows Display Manager hin, welcher keine Leerlaufzeit bereitstellt.
  • JCPU: Die gesamte CPU-Zeit aller Prozesse dieses Terminals.
  • PCPU: Die CPU-Zeit des aktuellen Prozesses.
  • WAS: Die Befehlszeile des aktuellen Prozesses des Nutzers.

Nachdem wir nun den Benutzer kennen, können weitere Details mit dem id Befehl ermittelt werden. Der Befehl lautet id, gefolgt von einem Leerzeichen und dem Nutzernamen:

id dave

Die Ausgabe zeigt die Benutzer-ID (uid), Gruppen-ID (gid) und die Gruppenzugehörigkeiten. Eine einfachere Gruppenansicht erhält man über den Befehl groups:

groups dave

Der Befehl finger liefert eine gute Zusammenfassung. Unter Ubuntu und anderen Debian-basierten Distributionen kann er mit apt-get installiert werden. Bei anderen Linux-Distributionen verwendet man das jeweilige Paketverwaltungswerkzeug.

sudo apt-get install finger

Nach der Installation liefert finger Informationen über den Benutzer:

finger dave

Viele Felder bleiben auf den meisten Linux-Systemen leer, da diese nicht standardmäßig befüllt werden. Das Feld „Kein Plan“ bezieht sich auf eine alte Funktion, um Notizen über aktuelle Projekte zu hinterlassen. Durch die Bearbeitung der Datei .plan im Home-Verzeichnis wird der Inhalt an die Ausgabe von finger angehängt.

Eine schnelle Anzeige des Benutzernamens über die GNOME-Desktopumgebung (genutzt unter Ubuntu und vielen anderen Distributionen) erfolgt mit einem Klick auf das Systemmenü (meist oben rechts). Der unterste Menüpunkt ist der Benutzername. Andere Desktopumgebungen sollten eine ähnliche Möglichkeit zur schnellen Anzeige anbieten.

Das war einfach, oder? Aber wo bleibt da der Spaß?

Die Verwendung der Bash-Shell fühlt sich doch eher nach einem digitalen Detektiv an.