GNU/Linux >> Linux Esercitazione >  >> Linux

Come trovare gli utenti attualmente registrati in Linux

Un amministratore di sistema Linux dovrebbe tenere d'occhio chi è attualmente connesso al sistema Linux e cosa stanno facendo. Sapevamo già come trovare gli ultimi utenti che hanno effettuato l'accesso in Linux. Come identificheresti chi è connesso al tuo sistema Linux in questo momento e cosa stanno facendo? Facile! Questo tutorial elenca vari metodi per trovare gli utenti attualmente connessi in Linux.

1. Trova gli utenti attualmente connessi in Linux utilizzando w comando

Nei sistemi operativi Linux, esiste un comando speciale di una sola lettera chiamato w che ti aiuta a trovare chi è connesso e cosa stanno facendo nel sistema. Questo è lo strumento da riga di comando più comunemente utilizzato per visualizzare le informazioni sugli utenti attualmente sul server e sui loro processi.

Il w comando è spesso utile quando si amministra un server Linux a cui accedono frequentemente molti utenti. Puoi monitorarli tutti senza dover installare strumenti o applicazioni aggiuntivi.

Il w comando mostra vari dettagli utili, inclusi i seguenti:

  • l'ora corrente,
  • da quanto tempo è in esecuzione il sistema,
  • quanti utenti sono attualmente connessi,
  • e il carico del sistema è in media negli ultimi 1, 5 e 15 minuti.

Il w il comando recupera le informazioni su chi è attualmente connesso da /var/run/utmp file e recupera le informazioni sul processo da /proc file.

Ora vediamo come usare w comando per visualizzare chi ha effettuato l'accesso sulla tua macchina Linux e cosa stanno facendo.

L'uso tipico di w il comando è:

$ w [options] user

Quando esegui il comando w senza alcuna opzione, verranno visualizzati tutti gli utenti attualmente connessi nel tuo sistema Linux:

$ w

Risultato di esempio:

 08:42:30 up 28 min,  2 users,  load average: 1.30, 0.87, 0.45
USER     TTY      FROM             [email protected]   IDLE   JCPU   PCPU WHAT
sk       tty1     -                08:41   42.00s  0.10s  0.06s -bash
ostechni pts/1    192.168.225.37   08:42    6.00s  0.09s  0.01s w

Come puoi vedere nell'output sopra, attualmente ci sono due utenti (sk e ostechni ) effettuato l'accesso al mio server Ubuntu. Il w comando visualizza i seguenti dettagli per i singoli utenti:

  • nome di accesso,
  • il nome tty,
  • indirizzo IP di origine da cui l'utente ha effettuato l'accesso,
  • ora di accesso,
  • tempo di inattività,
  • Tempo JCPU (il tempo utilizzato da tutti i processi collegati a tty),
  • Tempo PCPU (il tempo utilizzato dal processo corrente),
  • e la riga di comando del loro processo corrente.

Se vuoi visualizzare i dettagli di uno specifico utente che ha effettuato l'accesso (es. ostechnix), il comando sarebbe:

$ w ostechnix 
 08:51:36 up 37 min,  2 users,  load average: 1.12, 1.06, 0.76
USER     TTY      FROM             [email protected]   IDLE   JCPU   PCPU WHAT
ostechni pts/1    192.168.225.37   08:42    0.00s  0.09s  0.01s w ostech

Puoi omettere l'intestazione dall'output usando -h opzione:

$ w -h
sk       tty1     -                08:41   16:13   0.10s  0.06s -bash
ostechni pts/1    192.168.225.37   08:42    1.00s  0.09s  0.01s w -h

Puoi anche visualizzare l'indirizzo IP invece del nome host per "FROM" (nome host remoto) utilizzando -i opzione:

$ w -i

Potresti non voler stampare tutti i dettagli. In tal caso, puoi escludere l'ora di accesso, i tempi JCPU o PCPU utilizzando -s (--short ) opzione:

$ w -s
 09:02:50 up 48 min,  2 users,  load average: 0.31, 0.79, 0.84
USER     TTY      FROM              IDLE WHAT
sk       tty1     -                21:02  -bash
ostechni pts/1    192.168.225.37    1.00s w -s

Per maggiori dettagli, controlla le pagine man:

$ man w

Oppure, fare riferimento alla sezione della guida:

$ w --help

Usage:
 w [options]

Options:
 -h, --no-header     do not print header
 -u, --no-current    ignore current process username
 -s, --short         short format
 -f, --from          show remote hostname field
 -o, --old-style     old style output
 -i, --ip-addr       display IP address instead of hostname (if possible)

     --help     display this help and exit
 -V, --version  output version information and exit

For more details see w(1).

2. Visualizza tutti gli utenti che hanno effettuato l'accesso utilizzando who comando

Il who command è un altro strumento da riga di comando per visualizzare informazioni sugli utenti che sono attualmente collegati a una macchina Linux.

Se esegui who comando senza alcuna opzione, visualizzerà tutti gli utenti che hanno effettuato l'accesso:

$ who

Risultato di esempio:

sk        tty1         2021-01-12 08:41
ostechnix pts/1        2021-01-12 08:42 (192.168.225.37)

Come puoi vedere nell'output sopra, who comando mostra il nome utente, il tipo di dispositivo terminale (es. tty o pts ) su cui si è svolta la sessione, il tempo di avvio e l'indirizzo IP di origine da cui l'utente ha effettuato l'accesso.

Puoi filtrare i dettagli per un utente specifico con grep comando:

$ who | grep ostechnix
ostechnix pts/1        2021-01-12 08:42 (192.168.225.37)

Il comando precedente troverà se l'utente specificato otechnix è connesso o meno.

Se desideri visualizzare le informazioni solo per la sessione del terminale corrente, esegui:

$ who am i
ostechnix pts/1        2021-01-12 08:42 (192.168.225.37)

Si prega di notare gli spazi tra le parole. Se esegui il comando precedente senza spazi, verrà visualizzato solo il nome utente:

$ whoami 
ostechnix

Il who comando ha poche altre opzioni per ottenere un output personalizzato.

Ad esempio, puoi visualizzare tutte le informazioni disponibili sugli accessi correnti utilizzando -a bandiera:

$ who -a

Risultato di esempio:

           system boot  2021-01-12 08:14
sk       - tty1         2021-01-12 08:41 00:59        1463
           run-level 5  2021-01-12 08:15
ostechnix + pts/1        2021-01-12 08:42   .          1477 (192.168.225.37)
LOGIN      tty6         2021-01-12 08:41              1366 id=tty6

Per visualizzare tutte le informazioni disponibili con le intestazioni di colonna, usa -H bandiera:

$ who -a -H
NAME       LINE         TIME             IDLE          PID COMMENT  EXIT
           system boot  2021-01-12 08:14
sk       - tty1         2021-01-12 08:41 00:59        1463
           run-level 5  2021-01-12 08:15
ostechnix + pts/1        2021-01-12 08:42   .          1477 (192.168.225.37)
LOGIN      tty6         2021-01-12 08:41              1366 id=tty6

Per maggiori dettagli, fare riferimento alle pagine man e alla sezione della guida di who comando utilizzando uno qualsiasi dei seguenti comandi:

$ man who
$ who --help

3. Stampa gli utenti che hanno effettuato l'accesso con users comando

Gli users comando stampa i nomi utente degli utenti attualmente collegati al sistema host corrente.

Per visualizzare un elenco di tutti gli utenti che hanno effettuato l'accesso in una macchina Linux, eseguire:

$ users
ostechnix sk

Per ricevere assistenza, esegui uno dei seguenti comandi:

$ man users
$ users --help

4. Visualizza gli utenti che hanno effettuato l'accesso con last comando

L'last Il comando di solito mostra tutti gli utenti che hanno effettuato l'accesso e la disconnessione da una macchina Linux dal /var/log/wtmp il file è stato creato.

$ last

In alto viene visualizzato l'elenco degli utenti attualmente connessi.

ostechni pts/1        192.168.225.37   Tue Jan 12 08:42   still logged in
sk       tty1                          Tue Jan 12 08:41   still logged in
ostechni tty1                          Tue Jan 12 08:41 - 08:41  (00:00)
sk       pts/1        192.168.225.37   Tue Jan 12 08:41 - 08:41  (00:00)
[...]

Per assistenza, vedere le pagine man o utilizzare --help opzione:

$ man last
$ last --help

5. Trova chi è connesso a un sistema Linux usando il comando id

Il id Il comando viene utilizzato per stampare le informazioni sull'utente e sul gruppo per l'UTENTE specificato o per l'utente corrente quando UTENTE viene omesso.

Per stampare l'utente attualmente connesso nella sessione corrente, eseguire id comando con -un opzioni:

$ id -un
ostechnix

Questo è lo stesso di whoami comando.

Per ottenere aiuto, fai:

$ man id
$ id --help

Tutti gli strumenti di cui sopra sono disponibili per impostazione predefinita nella maggior parte delle distribuzioni Linux. C'è un altro strumento da riga di comando disponibile per trovare chi ha effettuato l'accesso in un sistema Linux. Non è installato per impostazione predefinita, ma è disponibile nei repository predefiniti della maggior parte delle distribuzioni Linux.

6. Elenca gli utenti che hanno effettuato l'accesso con il comando finger

Dito è un'utilità di ricerca di informazioni sull'utente da riga di comando. Visualizza il nome di accesso dell'utente, il nome reale, il nome del terminale e lo stato di scrittura, il tempo di inattività, il tempo di accesso, la posizione dell'ufficio e il numero di telefono dell'ufficio, ecc.

Il programma finger non è installato per impostazione predefinita in alcune distribuzioni Linux. Puoi installare finger nei sistemi Debian e Ubuntu usando il gestore di pacchetti apt come di seguito:

$ sudo apt install finger

Una volta installato, esegui il comando finger per trovare gli utenti che hanno effettuato l'accesso nel tuo sistema Linux:

$ finger 

Risultato di esempio:

Login      Name        Tty      Idle  Login Time   Office     Office Phone
ostechnix  ostechnix   pts/1          Jan 12 08:42 (192.168.225.37)
sk                    *tty1     3:17  Jan 12 08:41

Visualizza informazioni su un utente specifico:

$ finger ostechnix

Risultato di esempio:

Login: ostechnix      			Name: ostechnix
Directory: /home/ostechnix          	Shell: /bin/bash
On since Tue Jan 12 08:42 (UTC) on pts/1 from 192.168.225.37
   2 seconds idle
No mail.
No Plan.

Questi sono alcuni metodi per trovare gli utenti attualmente connessi in un sistema Linux. Sapere chi ha effettuato l'accesso e scoprire cosa stanno facendo nel tuo sistema può essere utile nei momenti di risoluzione dei problemi. Spero che uno dei metodi sopra menzionati ti possa aiutare.

Lettura correlata:

  • Come elencare tutti gli utenti in Linux
  • Come monitorare l'attività degli utenti in Linux
  • Come limitare l'accesso degli utenti al sistema Linux

Linux
  1. Come usare TROVA in Linux

  2. Come trovare un file in Linux

  3. Come trovare tutti gli utenti Sudo in Linux

  4. Come trovare l'IP del gateway predefinito in Linux

  5. Come posso trovare il numero di utenti online in Linux?

Come elencare gli utenti in Linux

Autorizzazioni Linux:come trovare le autorizzazioni di un file

Come modificare una shell utente in Linux

Come trovare l'ultimo accesso su Linux

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

Come trovare l'indirizzo IP in Linux