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 creare utenti, eliminare utenti e modificare le autorizzazioni degli utenti. Ma che dire dell'elenco di tutti gli utenti attualmente presenti su un sistema?
In questo articolo, discuteremo di 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 memorizzati in file specifici su una macchina Linux. Fortunatamente, Linux ti 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 ancora.
Utilizzo del file Passwd
Il passwd file è un file di testo che contiene i record delle password di tutti gli utenti attualmente presenti nel sistema. Questo file si trova in
/etc directory nella memoria locale e contiene le seguenti informazioni:- Nomi utente
- Password crittografate
- ID utente
- ID gruppo dell'utente
- Nome e cognome
- Il /home directory dell'utente
- Shell di login dell'utente
genere cat / etc / passwd o meno / etc / passwd nel tuo terminale per leggere il file di testo. Apertura del file /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
sincronizzazione: x: 4: 65534: sincronizzazione: / bin: / bin / sync
giochi: x: 5: 60: giochi: / usr / giochi: / bin / sh
man: x: 6: 12: man: / var / cache / man: / bin / sh
L'output di cui sopra contiene sette campi che contengono informazioni relative agli utenti. Questi campi sono separati da un delimitatore in questo caso, 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 $ 1}" / etc / passwd
Awk è un'utilità della riga di comando che consente agli utenti Linux di creare semplici programmi "su una riga" che eseguono operazioni rapide dal terminale. Nel codice sopra citato:
- -F sta per Field separator. Poiché il carattere dei due punti è il delimitatore nel file /etc/passwd file, passiamo i due punti come separatore nel comando awk.
- {print $ 1} indica al sistema di stampare il primo campo. In questo caso, il primo campo è il nome utente degli utenti.
- /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 il /etc/passwd file contiene gli utenti di sistema, l'output includerà anche i loro nomi utente.
radice
demone
bidone
sys
sincronizzazione
Giochi
uomo
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 $ 5}" / etc / passwd
Poiché gli utenti del 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 taglio 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.
Per stampare i primi nomi degli utenti utilizzando cut:
cut -d: f5 / etc / passwd
Allo stesso modo, puoi generare altri campi dal file /etc/passwd file semplicemente sostituendo f5 con f1-f7.
Relazionato: Come cambiare la tua password Linux
Elenca 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.
Per stampare il contenuto del file /etc/passwd file utilizzando getent:
getent passwd
L'output conterrà sette diversi campi separati dal carattere dei due punti. Ogni campo è riservato per informazioni particolari inclusi i nomi utente e i percorsi della directory home 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
sincronizzazione: x: 4: 65534: sincronizzazione: / bin: / bin / sync
giochi: x: 5: 60: giochi: / usr / giochi: / 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 $ 1}"
getent passwd | cut -d: -f1
Per stampare i nomi completi degli utenti:
getent passwd | awk -F: "{print $ 5}"
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 grep Il comando è utile quando si desidera prendere un modello di testo specifico da un file.
È possibile utilizzare uno dei seguenti comandi per verificare l'esistenza di un utente.
compgen -u | nome utente grep
getent passwd | nome utente grep
Se l'utente esiste, le informazioni di accesso ad esso associate verranno visualizzate sullo schermo. D'altra parte, se l'utente non è presente nel sistema, si verificherà un errore.
Per verificare se un utente esiste su un sistema senza utilizzare grep:
getent passwd nome utente
Puoi anche eseguire il pipe del file getent o compgen comando con grep e eco per visualizzare l'output personalizzato.
getent passwd | grep -q nomeutente && echo "Utente trovato" || echo "Utente non trovato"
compgen -u | grep -q nomeutente && echo "Utente trovato" || echo "Utente non trovato"
Il comando precedente stamperà "Utente trovato" se l'utente esiste sul sistema e "Utente non trovato" se non lo è.
Contare 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 getent sono responsabili della visualizzazione dell'elenco contenente tutti gli utenti e altre informazioni ad essi correlate. Il WC sta per conteggio parole e viene utilizzato per contare il numero di parole o righe nell'output. Il -l flag 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 Linux che ti consentono di creare, rimuovere, controllare ed elencare altri utenti è un ottimo modo per iniziare con la gestione degli utenti.
Mettersi a proprio agio 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 in assoluto. Imparare alcuni comandi di base è uno di questi ed è essenziale per eseguire semplici attività di elaborazione su Linux.
Ti interessa usare Linux ma non sai da dove iniziare? Scopri come usare Linux, dalla scelta di una distribuzione all'installazione di app.
- Linux
- Linux
Deepesh è il Junior Editor per Linux presso MUO. Scrive contenuti informativi su Internet da oltre 3 anni. Nel tempo libero ama scrivere, ascoltare musica e suonare la chitarra.
Iscriviti alla nostra Newsletter
Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!
Ancora un passo…!
Conferma il tuo indirizzo e-mail nell'e-mail che ti abbiamo appena inviato.