whoami
whoami ist ein Unix-Kommando, welches den Benutzernamen des den Befehl aufrufenden Benutzers ausgibt. Der Begriff leitet sich von der englischen Frage Who am I? (auf Deutsch „Wer bin ich?“) ab. Gerade bei Mehrbenutzersystemen wie Unix und verwandten Derivaten sind Benutzer in der Lage, ihre Identität zu wechseln, beispielsweise mit dem Unix-Kommando su
oder sudo. Vor allem bei älteren Shells, die in dem Prompt nicht den Benutzernamen mit ausgegeben haben, konnten bereits nach wenigen su
Verwirrungen bei dem Benutzer auftreten, unter welchem Benutzernamen er gerade arbeitet. Ein kurzer Aufruf des whoami
-Kommandos genügt, um sich seiner Identität sicher zu sein.
whoami
ist Teil der GNU Core Utilities; die Version wurde von Richard Mlynarik für das GNU-Projekt geschrieben.
Benutzung unter Unix
Moderne Unix-Shells setzen beim Anmelden die Umgebungsvariable $USER
, die üblicherweise auch im Kommandozeilenprompt ausgegeben wird. Diese enthält jedoch den Benutzernamen, der zur effektiven UID gehört, und nicht zu der realen. Mit einem Aufruf von su
ohne Parameter ändert sich beispielsweise nur die reale UID, die effektive jedoch nicht. Daher kann es hier zu Verwirrungen kommen:
benutzer@host $ whoami
benutzer
benutzer@host $ su
Password:
benutzer@host $ whoami
root
benutzer@host $ exit
benutzer@host $ whoami
benutzer
Ein Aufruf von su
mit dem Parameter -
ändert hingegen auch die effektive UID, weil eine neue Login-Shell gestartet wird (und damit auch der Wert der Umgebungsvariable $USER
ein anderer ist). Hier ist im Allgemeinen der Aufruf von whoami
überflüssig, weil der reale Benutzername dann bereits im Prompt steht:
benutzer@host $ whoami
benutzer
benutzer@host $ su -
Password:
root@host $ whoami
root
root@host $ logout
benutzer@host $
Alternativen
Mit dem Unix-Befehl id
,[1] der mit den Parametern -un
aufgerufen die gleichen Ausgaben wie whoami
ausgibt, ist whoami
mittlerweile veraltet.
whoami auf anderen Plattformen
Auch für andere (Mehrbenutzer-)Betriebssysteme entstanden Programme mit gleichem Namen und analogem Funktionsumfang.
Novell NetWare
Auch Novell NetWare stellt die Funktion „Who am I“ zur Verfügung. Für DOS-basierte Clients gibt es die whoami.exe:
Z:\>WHOAMI.EXE You are user ZDL attached to server S311, connection 4. Server S311 is running NetWare v3.12 (25 user). Login time: Saturday November 22, 2008 2:53 pm
Microsoft Windows
Das Windows 2000 Resource Kit, Windows Vista, Windows 7 sowie Windows Server 2008 verfügen über das Programm Whoami.exe, welches eine ähnliche Funktionalität zur Verfügung stellt. Hierbei können verschiedene Informationen, z. B. Logon-ID, UPN oder FQDN sowie Listen von Benutzern, Gruppen und Berechtigungen in verschiedenen Formaten (z. B. CSV) ermittelt werden.
PS C:\> whoami /FQDN CN=Mustermann\, Max,OU=Users,OU=4711,OU=42,OU=wikipedia,DC=de,DC=wikipedia,DC=org
PS C:\> whoami /USER /FO CSV "Benutzername","SID" "wikipedia\Mustermann","S-1-5-21-123456789-1234567890-1234567890-12345"
Weblinks
whoami(1)
: display effective user ID – OpenBSD General Commands Manualwhoami(1)
: Die effektive Nutzer-ID ausgeben – Debian GNU/Linux Ausführbare Programme oder Shell-Befehle Handbuchseite- whoami Microsoft Windows 2000 Resource Kit tool (englisch)
- Beschreibung des Befehls whoami.exe unter Microsoft Windows im MSDN
Einzelnachweise
-
id
– Open Group Base Specification