GNU/Linux >> Linux Esercitazione >  >> Linux

Come controllare le informazioni utente registrate con Who Command

Il comando who in Linux elenca tutti gli utenti registrati nel sistema. È piuttosto semplice da usare.

Basta inserire chi nella riga di comando e mostrerà tutti gli utenti attualmente connessi sul tuo sistema Linux.

[email protected]:~# who
root     pts/0        2020-02-03 06:48 (152.72.29.73)
john   pts/1        2020-02-03 07:02 (187.41.92.90)
jane pts/2        2020-02-03 07:02 (252.142.106.85)

Tieni presente che mostra solo gli utenti che sono attualmente collegati al tuo sistema. Ci sono altri modi per vedere tutti gli utenti su un sistema Linux come compgen.

Il comando who ha alcune opzioni per ottenere altre informazioni specifiche sugli utenti registrati.

Utilizzo del comando who in Linux

Ecco la sintassi del comando who:

who [options] [filename]

Hai già visto quali informazioni mostra il comando who senza alcuna opzione. Vediamo ora quali opzioni offre.

Insieme alle informazioni regolari, puoi anche stampare il tempo di inattività degli utenti. Se un utente non ha digitato nulla per un periodo di tempo, viene riflesso come tempo di inattività.

who -u

Come puoi vedere nell'output di seguito, l'utente john è rimasto inattivo per 2 minuti e 3 secondi.

[email protected]:~# who -u
root     pts/0        2020-02-03 06:48   .         10669 (152.72.29.73)
john pts/2        2020-02-03 07:02 02:03       31528 (187.41.92.90)

Cosa potresti fare con queste informazioni? Un uso pratico è implementare un livello di sicurezza aggiuntivo disconnettendo automaticamente gli utenti che sono inattivi per più di un certo tempo.

Visualizza solo i nomi utente (e il loro conteggio)

Con l'opzione -q, puoi visualizzare solo gli utenti registrati e il loro conteggio.

[email protected]:~# who -q
root john jane
# users=3

Questo è simile all'output del "comando utenti" con l'eccezione del conteggio degli utenti registrati.

Verifica se gli utenti possono ricevere messaggi istantanei o meno

Sapevi che gli utenti possono scambiarsi messaggi nel terminale Linux utilizzando strumenti da riga di comando come mesg? Ovviamente spetta a un utente decidere se desidera ricevere o meno tali messaggi.

Puoi verificare se a un utente possono essere inviati messaggi o meno utilizzando l'opzione-T :

who -T

Nell'output seguente, + significa sì e – significa no. Se vedi ?, significa sconosciuto.

[email protected]:~# who -T
root     - pts/0        2020-02-03 06:48 (152.72.29.73)
john + pts/2        2020-02-03 07:02 (187.41.92.90)

Mostra informazioni su di te

Una specie di alternativa whoami. Visualizza le informazioni sull'utente ma solo per te (ovvero l'utente associato al terminale corrente).

who -m

Controlla l'ora dell'ultimo avvio del sistema

In qualche modo simile al comando uptime, puoi ottenere informazioni sull'ultimo avvio del sistema utilizzando l'opzione -b del comando who:

who -b

Come puoi vedere, il mio server di prova è stato avviato l'ultima volta alle 09:41 del 19 dicembre 2019.

[email protected]:~# who -b
         system boot  2019-12-19 09:41

Stampa il nome host degli utenti registrati

Questo potrebbe funzionare per gli utenti sulla stessa sottorete. Con l'opzione di ricerca , puoi visualizzare il nome host degli utenti che hanno effettuato l'accesso.

Controlla gli accessi passati e le informazioni sugli accessi errati

Probabilmente sai che nella gerarchia del filesystem Linux, memorizza informazioni e registri di runtime.

Il comando Who recupera le informazioni da /var/run/utmp. Puoi specificare altri file di registro per ottenere informazioni diverse.

Ad esempio, puoi ottenere informazioni sugli accessi passati se utilizzi il file /var/log/wtmp.

[email protected]:~# who /var/log/wtmp
root     pts/0        2020-02-03 06:48 (152.72.29.73)
jane   pts/1        2020-02-03 07:02 (252.142.106.85)
john pts/2        2020-02-03 07:02 (187.41.92.90)
jane   pts/1        2020-02-03 07:12 (252.142.106.85)
jane   pts/1        2020-02-03 08:55 (252.142.106.85)

Allo stesso modo, puoi vedere tutti i tentativi di accesso falliti usando il file /var/log/btmp.

[email protected]:~# who /var/log/btmp

Ovviamente, dipende dal fatto che il tuo sistema sia configurato per registrare queste informazioni.

Alla fine...

Ci sono alcune altre opzioni come -H che aggiunge un'intestazione come prima riga dell'output. Puoi sempre esplorarli tramite la sua pagina man.

Ho elencato, ciò che considero, gli esempi importanti del comando who. Spero che questo breve tutorial sui comandi Linux ti piaccia.


Linux
  1. Come controllare l'utilizzo della memoria del processo con il comando pmap di Linux

  2. Come gestire gli utenti con useradd in Linux

  3. Come lavorare con utenti e gruppi in Linux

  4. Come:Amministrazione degli utenti di FreeBSD

  5. Come controllare la password con Linux?

Come controllare la versione del sistema operativo con la riga di comando di Linux

Come vedere gli utenti che hanno effettuato l'accesso in Linux

Elimina gli utenti in Linux con il comando Userdel

Aggiunta di nuovi utenti in Linux con il comando Useradd

Come creare e gestire nuovi utenti su Linux

Come controllare i parametri del server VPS con il comando Linux