GNU/Linux >> Linux Esercitazione >  >> Linux

Come possiamo ottenere un elenco di utenti non di sistema su Linux?

Puoi usare awk per questa attività:

awk -F: '$3 >= 1000' /etc/passwd

Questo dividerà il /etc/passwd file per due punti, quindi se il campo 3 (userid) è maggiore o uguale a 1000, stamperà l'intero /etc/passwd registrare.

Se vuoi ottenere solo il nome utente da questo elenco allora:

awk -F: '$3 >= 1000 {print $1}' /etc/passwd

Dove $1 è il primo campo di etc/passwd che è il nome utente.


Supponendo che il sistema riconosca solo gli utenti locali (ovvero quelli registrati in /etc/passwd , al contrario di qualsiasi autenticazione tramite un servizio remoto come LDAP, NIS o Winbind), puoi utilizzare grep , sed o awk per estrarre i dati da /etc/passwd . awk è il più flessibile di quelli, ma che ne dici di una soluzione con sed :

sed -n '/^\([^:]\+\):[^:]\+:[1-9][0-9]\{3\}/ { s/:.*//; p }' /etc/passwd

Devi ottenere tutti gli utenti con gid è maggiore o uguale a 1000. Usa questo comando per questo:

awk -F: '($3>=1000)&&($1!="nobody"){print $1}' /etc/passwd

Se vuoi utenti di sistema (gid<1000) sarà:

awk -F: '($3<1000){print $1}' /etc/passwd

Linux
  1. Come ottengo il percorso di un processo in Unix/Linux

  2. Come elencare tutti gli utenti in un gruppo Linux?

  3. Linux - Come elencare tutti gli utenti

  4. Come impostare JAVA_HOME in Linux per tutti gli utenti

  5. Come posso ottenere un elenco di tutte le parole errate in un testo usando Linux?

Come elencare gli utenti in Linux

Il modo giusto per modificare i file /etc/passwd e /etc/group in Linux

Come elencare gli utenti in Linux

Come viene aggiornato /etc/motd?

Come ottenere un elenco di collegamenti simbolici su Linux

Come posso elencare tutti gli utenti bloccati in Linux?