whoami
whoami
(concatenazione delle parole inglesi "who am I?", tradotto "chi sono io?") è un semplice comando presente nei sistemi operativi Unix e Unix-like e più in generale dei sistemi POSIX, che consente unicamente di visualizzare l'username effettivo dell'utente corrente. Viene spesso utilizzato in opportuni shell script di avvio di servizi per verificare che non vengano eseguiti con un utente diverso da quello stabilito (come il caso di postgres) o per evitare che alcuni processi vengano eseguiti come utente privilegiato.
whoami software | |
---|---|
Genere | Utility |
Sviluppatore | Bill Joy, Richard Mlynarik, Intel, Microsoft, ReactOS Contributors, Novell |
Sistema operativo | Unix-like Multipiattaforma |
Licenza | BSD: BSD License coreutils: GPLv3 iRMX 86, Windows, NetWare: Proprietario Software commerciale ReactOS: GPLv2 (licenza libera) |
È presente anche nei sistemi operativi Microsoft Windows a partire da Windows Server 2003, Intel iRMX 86 e su ReactOS.
Panoramica
modificawhoami
produce lo stesso output del comando Unix id -un
. Sui sistemi operativi Unix-like, l'output di tale comando è leggermente differente dal contenuto della variabile $USER
perché whoami
mostra l'username dell'utente con il quale si sta lavorando, mentre $USER
mostra l'username utilizzando per effettuare il login. Per esempio, se l'utente si è loggato come John e su
come root, whoami
mostra root and e echo $USER
mostra John. Questo perché il comando su
di default non invoca una shell di login.
Le prime versioni furono implementate su 2.9 BSD come contrazione di who am i, il modo di invocare il comando Berkeley Unix who per stampare l'identità dell'utente che ha effettuato l'accesso. Questa versione è stata sviluppata da Bill Joy.[1]
La versione GNU è stata scritta da Richard Mlynarik ed è parte del pacchetto GNU Core Utilities (coreutils).
Il comando è disponibile tramite pacchetto separato per Microsoft Windows come parte del progetto GnuWin32[2] e della collezione UnxUtils di port nativo Win32 delle utility GNU Unix-like comuni.[3]
Su Intel iRMX 86 questo comando produce una lista dell'identità degli utenti correnti e dei relativi permessi di accesso.[4]
Il comando è anche disponibile come parte del Resource Kit di Windows 2000[5] e di SP2 Support Tools su Windows XP.[6]
La versione per ReactOS è stata sviluppata da Ismael Ferreras Morezuelas ed è rilasciata secondo la licenza GPLv2.[7]
Questo comando è stato anche a disposizione su NetWare situato nella directory pubblica del fileserver. Esso forniva anche le connessioni correnti server-workstation attraverso le quali essa era collegata ed i relativi nomi utente.
Sintassi
modificawhoami
Il comando sostanzialmente non accetta parametri di ingresso
Esempi di utilizzo
modificaUnix, Unix-like
modifica# whoami
root
Il seguente esempio serve per arrestare l'esecuzione di uno script nel caso venga eseguito come utente privilegiato.
if [ `whoami` == 'root' ]
then
echo "Il programma non può essere eseguito come root"
exit
fi
Intel iRMX 86
modifica--WHOAMI
USER ID: 5
ACCESS ID'S: 5, WORLD
Windows, ReactOS
modificaC:\Users\admin>whoami
workgroup\admin
Note
modifica- ^ (EN) whoami 2.9.1BSD Manual Page, su freebsd.org. URL consultato il 27 dicembre 2012.
- ^ (EN) CoreUtils for Windows, su gnuwin32.sourceforge.net. URL consultato il 25 luglio 2020.
- ^ (EN) Native Win32 ports of some GNU utilities, su unxutils.sourceforge.net. URL consultato il 25 luglio 2020.
- ^ (EN) iRMX™86 INTRODUCTION AND OPERATOR'S REFERENCE MANUAL For Release 6, su archive.org, 9 gennaio 2013. URL consultato l'8 giugno 2019.
- ^ (EN) Windows 2000 Resource Kit Tool: Whoami.exe, su microsoft.com. URL consultato il 23 aprile 2008.
- ^ (EN) Windows XP Service Pack 2 Support Tools, su microsoft.com. URL consultato l'11 settembre 2008.
- ^ whoami.c source file on GitHub reactos/reactos repository, su github.com. URL consultato il 28 luglio 2019.
Bibliografia
modifica- (EN) whoami - print effective userid, in Unix man pages. URL consultato il 24 agosto 2011 (archiviato dall'url originale il 7 gennaio 2013).
- (EN) Daniel J. Barrett, Macintosh Terminal Pocket Guide: Take Command of Your Mac, O'Reilly, 2012, ISBN 978-1449328986.
- (EN) William R. Stanek, Windows Command-Line Administrator's Pocket Consultant, 2nd Edition, Microsoft Press, 2008, ISBN 978-0735622623.
Voci correlate
modificaAltri progetti
modificaCollegamenti esterni
modifica- (EN) whoami(1) – 4.2BSD General Commands Manual
- (EN) whoami(1) – FreeBSD General Commands Manual
- (EN) whoami | Microsoft Docs