whoami

comando dei sistemi operativi Unix e Unix-like
Disambiguazione – Se stai cercando altri significati, vedi Who Am I?.

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
Schermata di esempio
Schermata di esempio
GenereUtility
SviluppatoreBill Joy, Richard Mlynarik, Intel, Microsoft, ReactOS Contributors, Novell
Sistema operativoUnix-like
Multipiattaforma
LicenzaBSD: 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

modifica
 
Il comando whoami su ReactOS

whoami 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

modifica
 whoami

Il comando sostanzialmente non accetta parametri di ingresso

Esempi di utilizzo

modifica

Unix, 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

modifica
C:\Users\admin>whoami
workgroup\admin
  1. ^ (EN) whoami 2.9.1BSD Manual Page, su freebsd.org. URL consultato il 27 dicembre 2012.
  2. ^ (EN) CoreUtils for Windows, su gnuwin32.sourceforge.net. URL consultato il 25 luglio 2020.
  3. ^ (EN) Native Win32 ports of some GNU utilities, su unxutils.sourceforge.net. URL consultato il 25 luglio 2020.
  4. ^ (EN) iRMX™86 INTRODUCTION AND OPERATOR'S REFERENCE MANUAL For Release 6, su archive.org, 9 gennaio 2013. URL consultato l'8 giugno 2019.
  5. ^ (EN) Windows 2000 Resource Kit Tool: Whoami.exe, su microsoft.com. URL consultato il 23 aprile 2008.
  6. ^ (EN) Windows XP Service Pack 2 Support Tools, su microsoft.com. URL consultato l'11 settembre 2008.
  7. ^ whoami.c source file on GitHub reactos/reactos repository, su github.com. URL consultato il 28 luglio 2019.

Bibliografia

modifica

Voci correlate

modifica

Altri progetti

modifica

Collegamenti esterni

modifica