Come elencare gli utenti in Linux

Come elencare gli utenti in Linux

Il sistema operativo Linux offre comandi per creare ed eliminare utenti e controllare quali hanno effettuato l'accesso. Tuttavia, non esiste alcun comando per elencare gli utenti, connessi o meno, sul sistema.

Tuttavia, ci sono un paio di modi per farcela. Se vuoi imparare come elencare gli utenti in Linux, segui i nostri passaggi di seguito.

Perché dovresti controllare la tua lista utenti Linux

Ci sono una serie di motivi per cui potresti voler elencare gli utenti in Linux. È una buona pratica in termini di ricerca ed eliminazione di account inutilizzati, per esempio. Dal punto di vista della sicurezza, è anche un buon modo per assicurarsi che non ci siano intrusi che creano account utente.

Questa è un'attività amministrativa che probabilmente dovresti svolgere almeno una volta al mese. Se stai utilizzando un server Linux aziendale, potresti volerlo fare più spesso.

Utenti elencati in /etc/passwd

Tutti gli account utente del tuo server Linux hanno voci nel file /etc/passwd . Ogni riga rappresenta un utente e ha sette campi separati da due punti. I campi forniscono informazioni sull'utente.

  • Nome utente.
  • Password crittografata ( x indica che la password è effettivamente in /etc/shadow )
  • Numero ID utente (UID).
  • Numero ID del gruppo (GID) dell'utente.
  • Nome completo dell'utente, se elencato.
  • Directory principale dell'utente.
  • Shell di accesso

Quindi, questo ci porta a un modo per elencare tutti gli utenti su Linux. Puoi usare il comando less per vedere l'intero file, una schermata alla volta.

less /etc/passwd

Come elencare gli utenti in Linux

Se vuoi verificare se un particolare utente esiste nel sistema Linux, è un buon uso per il comando grep :

less passwd | grep jeff

Come elencare gli utenti in Linux

Se non ottieni alcun output, quell'utente non esiste sul server Linux.

Tuttavia, sono molte informazioni. Puoi ridurlo solo al nome utente, ad esempio, usando i comandi awk o cut :

awk -F: '{print $1}' /etc/passwd cut -d: -f1 /etc/passwd

Come elencare gli utenti in Linux

Questo tende ad essere molto più facile da capire, ma ti lascia comunque visualizzare tutti gli account utente basati sul sistema mescolati con i tuoi utenti umani.

Come utilizzare getent per elencare gli utenti

Un altro comando, getent , è molto più utile. Visualizza le voci da qualsiasi database configurato nel file /etc/nsswitch.conf del tuo server . Uno di questi è il database passwd . Per utilizzare getent per visualizzare un elenco di tutti gli utenti Linux, funziona in questo modo:

getent passwd

L'output ha lo stesso aspetto dell'utilizzo del comando less , ma elenca tutti gli utenti LDAP sul sistema Linux. Ancora una volta, i nostri comandi awk e cut possono aiutare a vedere solo il primo campo, i nomi utente.

Se vuoi verificare se un particolare utente esiste nel sistema Linux, getent semplifica:

getent passwd jeff

Ancora una volta, nessun output di questo comando ti dice che l'utente non esiste.

Un altro fantastico utilizzo di getent è scoprire quanti account utente esistono sul server. Questo viene fatto pipettando l'output di getent tramite il comando wc , in questo modo:

getent passwd | wc -l

Come elencare gli utenti in Linux

Come puoi vedere, il mio sistema Linux ha un totale di 48 account. Abbastanza interessante, dato che sono l'unico che lo usa, ma questo mostra solo quanti account di sistema vengono creati in Linux.

Eliminare gli utenti del sistema dagli utenti normali

Agli occhi di Linux, non c'è differenza tra un utente di sistema e uno umano. Ogni volta che si installa il sistema operativo, viene creato un numero di utenti del sistema. Altri utenti di sistema vengono creati per vari pacchetti, come software di servizi Web o di posta.

Quindi, come puoi elencare solo gli utenti umani regolari sul sistema Linux? La chiave qui è capire che quando crei un utente normale, il suo UID viene assegnato all'interno di un certo intervallo di numeri. Controllando il file /etc/login.defs , possiamo determinare l'intervallo di valori UID disponibili per gli account utente regolari.

grep -E '^UID_MIN|^UID_MAX' /etc/login.defs

Come elencare gli utenti in Linux

Sulla base dell'output, so che gli utenti normali dovrebbero avere un UID compreso tra 1000 e 60000. Da questo, posso costruire una query getent che visualizzerà solo gli utenti normali.

getent passwd {1000..60000}

Come elencare gli utenti in Linux

Tieni presente che getent sembrerà bloccato anche dopo aver visualizzato il suo output. Puoi premere Ctrl-C per terminare il processo o attendere fino al termine. Di solito sono necessari meno di 15 secondi per completare la ricerca nel database passwd .

Una versione più generica di questo comando tiene conto dei diversi valori UID_MIN e UID_MAX che potrebbero essere utilizzati dai vari server.

eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)}

In quel comando, stiamo sfruttando la capacità di Linux di fare più cose contemporaneamente. I comandi awk ottengono i valori UID_MIN e UID_MAX , quindi li usano all'interno del comando getent .

Ora, diciamo che tutto ciò che vogliamo sono i nomi utente. Ancora una volta, eseguiamo il pipe del nostro output tramite il comando cut , in questo modo:

eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | cut -d: -f1

Come elencare gli utenti in Linux

Questo comando potrebbe richiedere da 10 a 15 secondi per essere completato, quindi sii paziente.

Gestire efficacemente i tuoi utenti Linux

È importante tenere traccia di quali account utente esistono sul tuo sistema Linux. Quando sai che un dipendente è andato via, sii pronto a eliminare il suo account utente. Elencare periodicamente i tuoi utenti Linux ti aiuterà a catturare tutti gli account che potrebbero essere rimasti bloccati.

Allo stesso tempo, assicurati di essere sempre aggiornato sulle politiche di sicurezza delle password e incoraggia i tuoi utenti a cambiare le loro password regolarmente.

Tags: #HOW-TO

Zenzero 2.7.53.0

Zenzero 2.7.53.0

Ginger è un correttore ortografico e grammaticale gratuito.

Blocchi

Blocchi

Blocks è un gioco intellettuale rivolto agli studenti delle scuole elementari di terza elementare per esercitare le proprie capacità di rilevamento e vista ed è incluso dagli insegnanti nel programma di supporto all'insegnamento informatico.

Prezio 6.26

Prezio 6.26

Prezi è un'applicazione gratuita che ti consente di creare presentazioni digitali, sia online che offline.

Mathway

Mathway

Mathway è un'app molto utile che può aiutarti a risolvere tutti quei problemi di matematica che richiedono uno strumento più complesso della calcolatrice integrata nel tuo dispositivo.

Presentatore Adobe

Presentatore Adobe

Adobe Presenter è un software di e-Learning rilasciato da Adobe Systems disponibile sulla piattaforma Microsoft Windows come plug-in di Microsoft PowerPoint.

Tucano 2.3.0

Tucano 2.3.0

Toucan è una piattaforma tecnologica educativa. Ti consente di imparare una nuova lingua mentre navighi su siti Web comuni di tutti i giorni.

ENetViet 24.2

ENetViet 24.2

eNetViet è un'applicazione che aiuta a connettere i genitori con la scuola in cui studiano i loro figli in modo che possano comprendere chiaramente l'attuale situazione di apprendimento dei loro figli.

Duolingo

Duolingo

Duolingo - Impara le lingue gratis, o semplicemente Duolingo, è un programma educativo che ti permette di imparare e praticare molte lingue diverse.

Digitazione rapida

Digitazione rapida

RapidTyping è uno strumento di allenamento per la tastiera comodo e facile da usare che ti aiuterà a migliorare la velocità di digitazione e a ridurre gli errori di ortografia. Con lezioni organizzate per molti livelli diversi, RapidTyping ti insegnerà come digitare o migliorare le competenze esistenti.

MathType 7.4.10.53

MathType 7.4.10.53

MathType è un software di equazioni interattive dello sviluppatore Design Science (Dessci), che consente di creare e annotare notazioni matematiche per l'elaborazione di testi, presentazioni, eLearning, ecc. Questo editor viene utilizzato anche per creare documenti TeX, LaTeX e MathML.