Come elencare tutti gli utenti in Linux

Come elencare tutti gli utenti in Linux

Gli utenti sono il componente più importante in un sistema Linux. Linux fornisce comandi integrati agli amministratori che consentono loro di gestire gli utenti in modo efficiente. Ce n'è uno per la creazione di utenti, l'eliminazione di utenti e la modifica delle autorizzazioni utente. Ma che ne dici di elencare tutti gli utenti che sono attualmente presenti su un sistema?





In questo articolo, discuteremo come ottenere un elenco di tutti gli utenti in Linux, insieme a una breve guida per verificare se un utente esiste o meno su un sistema.





Come mostrare un elenco di tutti gli utenti in Linux

Quando crei un nuovo utente, il nome utente, la password e altri dettagli vengono archiviati in file specifici su una macchina Linux. Fortunatamente, Linux consente di leggere e modificare tali file senza alcuna restrizione. Utilizzando questi file, puoi conoscere le informazioni relative agli utenti come i loro nomi utente, il conteggio degli utenti e altro.





Utilizzo del file Passwd

Il passwd file è un file di testo che contiene i record delle password di tutti gli utenti attualmente presenti nel tuo sistema. Questo file si trova in /eccetera directory nella memoria locale e contiene le seguenti informazioni:

  1. Nomi utente
  2. Password crittografate
  3. ID utente
  4. ID gruppo utente
  5. Nome e cognome
  6. Il /casa directory dell'utente
  7. Shell di login dell'utente

Tipo cat /etc/passwd o less /etc/passwd nel tuo terminale per leggere il file di testo. Aprendo il /etc/passwd file genererà un output simile a questo.



root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh

Il suddetto output contiene sette campi che contengono informazioni relative agli utenti. Questi campi sono separati da un delimitatore, in questo caso i due punti. Ogni riga nell'output indica un singolo utente.

Per ottenere un elenco di tutti i nomi utente con l'aiuto di passwd file:





awk -F: '{ print }' /etc/passwd

Awk è un'utilità della riga di comando che consente agli utenti Linux di creare semplici programmi 'a una riga' che eseguono operazioni rapide dal terminale. Nel suddetto codice:

  1. -F sta per Separatore di campo. Poiché il carattere due punti è il delimitatore nel /etc/passwd file, passiamo i due punti come separatore nel comando awk.
  2. {stampa } indica al sistema di stampare il primo campo. In questo caso, il primo campo è il nome utente degli utenti.
  3. /etc/passwd file contiene i dati relativi agli utenti.

L'esecuzione del comando precedente produrrà i nomi utente di tutti gli utenti. Dal momento che /etc/passwd file contiene utenti di sistema, l'output includerà anche i loro nomi utente.





root
daemon
bin
sys
sync
games
man

Puoi modificare leggermente il comando awk per stampare i nomi completi degli utenti. Digita il seguente comando per mostrare i nomi completi degli utenti in Linux:

awk -F: '{ print }' /etc/passwd

Poiché gli utenti di sistema hanno lo stesso nome utente e nome completo, non noterai alcuna differenza nell'output. Solo gli utenti che hai aggiunto al tuo sistema avranno nomi utente e nomi completi diversi.

In alternativa, puoi anche usare tagliare invece del comando awk. La sintassi di cut è abbastanza simile al comando awk.

Per stampare i nomi utente in Linux usando cut:

cut -d: f1 /etc/passwd

Qui, -D è il delimitatore, f1 denota il primo campo (nome utente), e /etc/passwd è il file di testo che contiene i dati.

Internet stesso fa male in inglese

Per stampare i nomi degli utenti utilizzando cut:

cut -d: f5 /etc/passwd

Allo stesso modo, puoi emettere altri campi da /etc/passwd file semplicemente sostituendo f5 insieme a f1-f7 .

Imparentato: Come cambiare la tua password Linux

Elenca gli utenti con il comando getent

Il comando getent stampa il contenuto di importanti file di testo che fungono da database per il sistema. File come /etc/passwd e /etc/nsswitch.conf contengono informazioni relative rispettivamente agli utenti e alle reti e possono essere lette utilizzando il comando getent.

come cancellare un account hotmail

Per stampare il contenuto del /etc/passwd file usando getent:

getent passwd

L'output conterrà sette diversi campi separati dal carattere due punti. Ogni campo è riservato ad informazioni particolari inclusi i nomi utente ei percorsi delle home directory degli utenti.

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh

Puoi concatenare il comando getent con awk o cut per ottenere solo l'elenco dei nomi utente.

getent passwd | awk -F: '{print }'
getent passwd | cut -d: -f1

Per stampare i nomi completi degli utenti:

getent passwd | awk -F: '{print }'
getent passwd | cut -d: -f5

Controlla se un utente esiste o meno

In alcune situazioni, potresti voler controllare se un utente esiste o meno sul tuo sistema Linux. Il presa Il comando è utile quando vuoi prendere un modello di testo specifico da un file.

È possibile utilizzare uno dei seguenti comandi per verificare l'esistenza di un utente.

compgen -u | grep username
getent passwd | grep username

Se l'utente esiste, le informazioni di accesso ad esso associate verranno visualizzate sullo schermo. Se invece l'utente non è presente nel sistema, si verificherà un errore.

Per verificare se un utente esiste su un sistema senza usare grep:

getent passwd username

Puoi anche pipe il getente o compgen comando con presa e buttato fuori per visualizzare l'output personalizzato.

getent passwd | grep -q username && echo 'User found' || echo 'User not found'
compgen -u | grep -q username && echo 'User found' || echo 'User not found'

Il comando sopra stamperà 'Utente trovato' se l'utente esiste nel sistema e 'Utente non trovato' in caso contrario.

Conta il numero di utenti su un sistema

Per contare il numero di utenti che esistono su un sistema Linux:

compgen -u | wc -l
getent passwd | wc -l

Nei comandi precedenti, compgen e getente sono responsabili della visualizzazione dell'elenco contenente tutti gli utenti e le altre informazioni ad essi relative. Il WC sta per conteggio parole ed è usato per contare il numero di parole o righe nell'output. Il -l bandiera denota Linee .

Verifica degli account utente in Linux

Ogni amministratore Linux dovrebbe sapere come può gestire e amministrare altri utenti su un sistema. Padroneggiare i comandi di Linux che ti consentono di creare, rimuovere, controllare ed elencare altri utenti è un ottimo modo per iniziare con la gestione degli utenti.

Prendere confidenza con l'ambiente Linux dovrebbe essere il tuo primo obiettivo se sei solo un principiante. Ci sono alcune cose che devi fare subito dopo aver installato la tua prima distribuzione Linux. L'apprendimento di alcuni comandi di base è uno di questi ed è essenziale per eseguire semplici attività di elaborazione su Linux.

Condividere Condividere Tweet E-mail Come iniziare a usare Linux

Ti interessa usare Linux ma non sai da dove iniziare? Scopri come usare Linux, dalla scelta di una distribuzione all'installazione di app.

Leggi Avanti
Argomenti correlati
  • Linux
  • Linux
Circa l'autore Deepesh Sharma(79 articoli pubblicati)

Deepesh è l'editor junior per Linux di MUO. Scrive guide informative su Linux, con l'obiettivo di fornire un'esperienza felice a tutti i nuovi arrivati. Non sono sicuro dei film, ma se vuoi parlare di tecnologia, è il tuo ragazzo. Nel suo tempo libero, puoi trovarlo a leggere libri, ascoltare diversi generi musicali o suonare la sua chitarra.

Altro da Deepesh Sharma

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per consigli tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti