Hai mai desiderato elencare tutti gli utenti nel tuo sistema Linux o contare il numero di utenti nel sistema? Esistono comandi per creare un utente, eliminare un utente, elencare gli utenti registrati, ma qual è il comando per elencare tutti gli utenti in Linux?
Questo tutorial ti mostrerà come elencare gli utenti nei sistemi Linux.
Ottieni un elenco di tutti gli utenti utilizzando il file / etc / passwd #
Le informazioni sugli utenti locali sono memorizzate nel file /etc/passwd
. Ogni riga in questo file rappresenta le informazioni di accesso per un utente. Per aprire il file puoi utilizzare cat
o less
:
Ogni riga del file ha sette campi delimitati da due punti che contengono le seguenti informazioni:
Se desideri visualizzare solo il nome utente puoi utilizzare i comandi awk
o cut
per stampare solo il primo campo contenente il nome utente:
Ottieni un elenco di tutti gli utenti utilizzando il comando getent #
Il comando getent
visualizza le voci dei database configurati nel file /etc/nsswitch.conf
, incluso il passwd
database, che può essere utilizzato per interrogare un elenco di tutti gli utenti.
Per ottenere un elenco di tutti gli utenti Linux, immettere il seguente comando :
Come puoi vedere, l’output è lo stesso della visualizzazione del contenuto del file /etc/passwd
. Se utilizzi LDAP per l’autenticazione utente, getent
mostrerà tutti gli utenti Linux sia dal file /etc/passwd
che dal database LDAP.
Puoi anche utilizzare awk
o cut
per stampare solo il primo campo contenente il nome utente:
Controlla se un utente esiste nel sistema Linux #
Ora che sappiamo come elencare tutti gli utenti, per verificare se un utente esiste nella nostra macchina Linux, possiamo semplicemente filtrare l’elenco degli utenti “reindirizzando l’elenco al comando grep
.
Ad esempio, per se nel nostro sistema Linux esiste un utente con nome jack
possiamo usare il seguente comando:
Se l’utente esiste, il comando precedente stamperà il login dell’utente informazione. Nessun output che significa che l’utente non esiste.
Possiamo anche verificare se un utente esiste senza utilizzare il comando grep
come mostrato di seguito:
Come prima, se l’utente esiste, il comando mostrerà le informazioni di accesso dell’utente.
Se vuoi scoprire quanti account utente hai sul tuo sistema, reindirizza l’output getent passwd
al comando wc
:
Come puoi vedere dall’output sopra, il mio sistema Linux ha 33 account utente.
Sistema e utenti normali #
Non c’è una reale differenza tecnica tra il sistema e gli utenti regolari (normali). In genere gli utenti di sistema vengono creati durante l’installazione del sistema operativo e dei nuovi pacchetti. In alcuni casi, puoi creare un utente di sistema che verrà utilizzato da alcune applicazioni.
Gli utenti normali sono gli utenti creati da root o da un altro utente con privilegi sudo. Di solito, un utente normale ha una vera shell di login e una home directory.
Ogni utente ha un ID utente numerico chiamato UID. Se non specificato durante la creazione di un nuovo utente con il comando useradd
, l’UID verrà selezionato automaticamente dal file /etc/login.defs
a seconda del UID_MIN
e UID_MIN
valori.
Per controllare i UID_MIN
e UID_MIN
nel sistema, puoi utilizzare il seguente comando:
Dall’output di cui sopra, possiamo vedere che tutti gli utenti normali dovrebbero avere un UID compreso tra 1000 e 60000. Conoscere il valore minimo e massimo ci consente di interrogare un elenco di tutti gli utenti normali nel nostro sistema.
Il comando seguente elencherà tutti gli utenti normali nel nostro sistema Linux:
I valori del sistema UID_MIN
e UID_MIN
potrebbero essere diversi, quindi la versione più generica del comando precedente sarebbe:
Se desideri stampare solo i nomi utente, reindirizza l’output al comando cut
:
Conclusione #
In questo tutorial, hai imparato come elencare e filtrare gli utenti nel tuo sistema Linux e quali sono le principali differenze tra il sistema e il normale Linux utenti.
Gli stessi comandi si applicano a qualsiasi distribuzione Linux, inclusi Ubuntu, CentOS, RHEL, Debian e Linux Mint.