Introduzione
sistema operativo Linux è unico per la sua caratteristica multiutente che consente più utenti su un sistema, contemporaneamente. Tuttavia, tenere traccia di tutti gli utenti è essenziale.
In questo articolo, ottieni più comandi per elencare tutti gli utenti Linux insieme alle loro informazioni di accesso. Questi comandi funzionano su CentOS, Ubuntu, Arch Linux e anche altre distribuzioni Linux.
Prerequisiti
- Una distribuzione Linux installata e funzionante
- Un utente con privilegi sudo
- Accesso a un terminale/riga di comando
Elenca tutti gli utenti Linux, 2 opzioni
Elenca tutti gli utenti in Linux con il file /etc/passwd
I dettagli degli utenti locali sono disponibili in /etc/passwd file. Ogni riga contenuta nel file contiene le informazioni di un utente.
Ci sono due opzioni.
Apri etc/passwd file digitando il comando:
cat etc/passwd
In alternativa, puoi utilizzare il less
comando:
less etc/passwd
Elenca tutti gli utenti Linux con geent Comando
Voci del database configurate in /etc/nsswitch.conf include il database passwd con tutti i nomi utente e le informazioni di accesso.
Per estrarre questi dati, usa il comando:
getent passwd
Entrambi Opzione 1 e Opzione 2 visualizzerà tutti gli utenti e le loro informazioni di accesso.
Ogni riga rappresenta un utente e ne ha sette (7) campi.
I campi sono separati da : (due punti) e ogni riga include le seguenti informazioni:
1. Nome utente
2. La password crittografata (rappresentata da x , che si trova in /etc/shadow file)
3. Numero ID utente (noto come UID )
4. ID gruppo utenti (noto come GID )
5. Nome completo dell'utente
6. Directory principale dell'utente
7. La shell di accesso (per impostazione predefinita impostata su bin/bash )
Come elencare solo i nomi utente Linux
Nel caso in cui non ti servano tutte le informazioni relative a ciascun utente, puoi elencare solo i nomi utente sul sistema. Ci sono due modi per vedere solo il primo campo (il nome utente) di ogni utente.
Opzione 1 :Usando il comando awk o taglia.
Per elencare solo i nomi utente, puoi utilizzare uno dei seguenti due (2) comandi:
awk –F: ‘{ print $1}’ /etc/passwd
cut –d: –f1 /etc/passwd
Opzione 2 :Usando il getent
comando con awk
e cut
.
Per leggere e visualizzare il nome utente senza alcuna informazione aggiuntiva utilizzando il getent
comando, eseguire il comando seguente:
getent passwd | awk -F: ‘{ print $1}’
In alternativa, usa il comando:
getent passwd | –d: –f1
Come cercare utenti Linux esistenti
Il getent
Il comando permette anche di verificare se un utente è presente nel sistema.
Uno dei seguenti due comandi ti fornirà tali informazioni:
getent passwd | grep username
getent passwd username
Se l'utente esiste, visualizzerà le informazioni di accesso. D'altra parte, se non esiste un tale utente, non ci sarà alcun output.
Ad esempio, nell'immagine seguente, la query mostra se un utente denominato esempio esiste. L'output dimostra che tale utente esiste.
Utente di sistema vs Utente normale
Un utente di sistema è quello che crea utenti normali. Pertanto, in questo caso, l'utente del sistema è il root. Questo utente viene creato durante la prima installazione del sistema operativo Linux. Inoltre, puoi creare utenti di sistema per applicazioni particolari.
D'altra parte, utenti normali sono tutti gli utenti che il root (o un utente con privilegi sudo) crea. Ogni utente normale e di sistema ha una vera shell di accesso, una directory home e un numero di ID utente (UID). Il numero ID utente viene fornito automaticamente nell'intervallo compreso tra i valori minimo e massimo.
Come controllare UID_MIN e UID_MAX
Se vuoi controllare qual è l'intervallo UID per utenti normali, usa grep con il seguente comando:
grep –E”^UID_MIN|^UID_MAX” /etc/login.defs
L'output mostra che tutti gli utenti normali hanno un UID compreso tra 1000 (UID_MIN) e 6000 (UID_MAX).
Come elencare gli utenti normali
Con questi numeri in mente, chiedi un elenco di tutti gli utenti in quell'intervallo con il comando:
getent passwd {1000..6000}
La query elenca tutti gli utenti normali, come si vede nell'immagine sottostante. In questo esempio, ci sono due utenti normali nell'intervallo specificato.