La prima attività che qualsiasi amministratore Linux esegue quando un utente afferma di non essere in grado di accedere al sistema. Sì, per sapere come elencare gli utenti in Linux è necessario risolvere qualsiasi problema di accesso.
Spero che tu abbia visto i comandi per creare un utente, eliminare un utente, modificare un utente, elencare gli utenti che hanno effettuato l'accesso. Qui vedremo come elencare gli utenti in Linux.
Elenca gli utenti in Linux usando il file /etc/passwd
Se ricordi, quando crei un utente il comando useradd inserisce una voce nel file /etc/passwd sull'utente. Con l'aiuto del file /etc/passwd possiamo elencare gli utenti locali presenti nel sistema.
User cat o less o more Comando per elencare gli utenti.
cat /etc/passwd
Risultato:
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:997:User for polkitd:/:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin chrony:x:998:996::/var/lib/chrony:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin webmaster:x:1999:1001::/opt/webadmin:/bin/bash user_name:x:2000:2000:sudo user:/home/user_name:/bin/bash
Ogni riga nel file /etc/passwd rappresenta un singolo utente.
Il file /etc/passwd ha sette campi delimitati da due punti.
- Nome utente
- Password crittografata (x rappresenta che la password è memorizzata nel file /etc/shadow)
- UID (numero di identificazione utente) dell'utente
- GID (Numero di identificazione del gruppo) dell'utente
- Campo GECOS (Nome completo utente o Commenti)
- Home directory dell'utente
- Shell di accesso
Se vuoi visualizzare solo l'elenco dei nomi degli utenti nel sistema, puoi semplicemente filtrare l'output.
cat /etc/passwd | awk -F: '{ print $1}'
Risultato:
root bin daemon adm lp sync shutdown halt mail operator games ftp nobody systemd-network dbus polkitd postfix chrony sshd webmaster user_name
Elenca gli utenti in Linux usando getent
Il comando getent elencherà gli utenti tramite query sui database configurati in /etc/nssswitch.conf. Il database include sia /etc/passwd (utenti locali) che LDAP. Quindi, getent visualizzerà gli utenti sia da /etc/passwd che da LDAP.
Per ottenere un elenco di utenti Linux, esegui il comando seguente.
getent passwd
Risultato:
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:997:User for polkitd:/:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin chrony:x:998:996::/var/lib/chrony:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin webmaster:x:1999:1001::/opt/webadmin:/bin/bash user_name:x:2000:2000:sudo user:/home/user_name:/bin/bashL'output del comando gatent sarà simile al contenuto del file /etc/passwd. Vedresti inoltre gli utenti da LDAP se il sistema è configurato con LDAP.
Usa awk solo per elencare i nomi utente.
getent passwd | awk -F: '{ print $1}'
Risultato:
root bin daemon adm lp sync shutdown halt mail operator games ftp nobody systemd-network dbus polkitd postfix chrony sshd webmaster user_name
Conclusione
In questo post, hai imparato a elencare gli utenti nel tuo sistema Linux. Elencare gli utenti in Linux è molto semplice e tutto ciò che devi fare attenzione all'output del comando per le informazioni necessarie per la risoluzione dei problemi di accesso degli utenti.