GNU/Linux >> Linux Esercitazione >  >> Linux

3 modi per elencare gli utenti in Linux

Oggi diversi sistemi operativi hanno la capacità di utilizzare più utenti, ognuno con le proprie impostazioni e configurazioni personalizzate per rendere più facile per amministratori e operatori lavorare insieme sullo stesso sistema.

Linux d'altra parte è molto forte su questo argomento in quanto consente a più utenti di lavorare contemporaneamente sul sistema in modo indipendente. Può anche consentire a un singolo utente di aprire più sessioni anche da postazioni diverse per poter lavorare sul sistema.

Ecco alcuni suggerimenti e trucchi per gestire gli utenti in Linux.

Elenca tutti gli utenti su Linux

Diciamo che vuoi creare un utente sudo in Linux. Probabilmente, la prima cosa da sapere è come sapere quali utenti sono nel mio sistema. Esistono diversi modi per ottenere l'elenco degli utenti in Linux.

1. Mostra gli utenti in Linux usando meno /etc/passwd

Questo comando consente a sysops di elencare gli utenti che sono archiviati localmente nel sistema. Fornirà l'elenco in modo strutturato come:

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
johndoe:x:1000:1000:John Doe,,,:/home/helder:/bin/bash
davmail:x:127:65534::/var/lib/davmail:/usr/sbin/nologin
statd:x:128:65534::/var/lib/nfs:/usr/sbin/nologin
/etc/passwd (END)

La struttura nell'output sopra va come:

  • Nome utente
  • Password crittografata (x rappresenta la password è memorizzata)
  • Numero ID utente (UID)
  • Numero ID gruppo (GID) dell'utente
  • Nome completo
  • Home directory dell'utente
  • Shell di accesso dell'utente (l'impostazione predefinita è bash shell)

Perché così tanti utenti? Quali sono "reali"?

L'elenco mostra molti più utenti di quanto ti aspettassi perché elenca anche tutti gli utenti del sistema.

Ora, se vuoi distinguere gli utenti normali dagli utenti di sistema, puoi fare riferimento al numero Identificativo utente (UID).

In genere, un utente normale ha un UID maggiore o uguale a 1000. Questo ti dà un suggerimento che l'utente con UID>=1000 è un utente normale e gli utenti con UID <1000 sono utenti di sistema.

Noterai anche che alcuni utenti hanno "nologin" alla fine della loro riga. Ciò significa che questi utenti non possono accedere al sistema. Questi utenti sono anche indicati come pseudo-utenti.

2. Visualizza gli utenti che utilizzano getent passwd

Questo comando ti darà un output simile a "less /etc/passwd", tuttavia, questo in realtà interroga il file di configurazione della funzionalità GNU Name Service Switch (che si trova in /etc/nsswitch.conf).

Questa configurazione include passwd, ecco perché verrà visualizzata in modo molto simile, ma se usi LDAP per l'autenticazione includerà anche quella.

3. Elenca gli utenti Linux con compgen

Se vuoi solo elencare tutti i nomi utente senza alcuna informazione aggiuntiva, puoi usare il comando compgen con -u opzione.

compgen -u

L'output sarebbe questo:

compgen -u
root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
proxy
www-data
backup
list
irc
gnats
nobody
systemd-network
systemd-resolve
syslog
messagebus
_apt
uuidd
avahi-autoipd
usbmux
dnsmasq
rtkit
cups-pk-helper
speech-dispatcher
whoopsie
kernoops
saned
pulse
avahi
colord
hplip
geoclue
gnome-initial-setup
gdm
abhishek 
Suggerimento:puoi usare il comando compgen con l'opzione -c per elencare tutti i comandi a tua disposizione. Questo è utile quando non sei l'amministratore su un sistema Linux e non hai accesso sudo.

Alcuni suggerimenti per elencare gli utenti in Linux

Hai appena visto tre modi per visualizzare gli utenti in Linux. Ecco alcuni suggerimenti che potrebbero aiutarti nella gestione dell'elenco degli utenti.

Elenca solo i nomi utente

Hai già il comando compgen per quello ma non devi ricordarlo tutto il tempo.

Se desideriamo ottenere solo un elenco dei nomi utente nel sistema, puoi utilizzare il comando awk o il comando cut per filtrare l'output degli altri due comandi che abbiamo visto in precedenza.

cut -d: -f1 /etc/passwd

o

getent passwd | awk -F: '{ print $1}'

Ognuno di questi ci darà un elenco filtrato di utenti, mostrando solo la prima colonna che è nome utente:

root
daemon
bin
sys
sync
games
man
lp
mail
news
johndoe
davmail
statd

Verifica se un nome utente esiste già nel sistema

Questo potrebbe essere utile se vuoi sapere se un particolare nome utente esiste già nel sistema:

getent passwd | grep johndoe

Questo è l'output:

johndoe:x:1000:1000:John Doe,,,:/home/johndoe:/bin/bash

Elenca tutti gli utenti connessi

Se vuoi sapere quali utenti sono attualmente collegati al tuo sistema Linux, devi usare un semplice comando who e questo elencherà immediatamente i nomi utente correnti con una sessione attiva sul tuo sistema

[email protected]:~$ who
johndoe   :0           2019-01-28 21:35 (:0)
harrysmith   pts/0        2019-02-01 09:51 (192.168.1.1)
stevejones   pts/1        2019-02-02 09:51 (192.168.1.173)

In questo caso, l'elenco ti darà non solo l'elenco dei nomi utente collegati, ma anche come sono collegati, da quando sono collegati e da dove sono collegati.

La prima colonna ti dirà quale nome utente è.

La seconda colonna ti darà che tipo di connessione è:se è rappresentata con una ":X" dove X è un numero, significa che sta usando un'interfaccia utente grafica (GUI) o una sessione desktop come Gnome, XDE, ecc.; se dice "pts/X" dove X è un numero, significa che è una connessione effettuata tramite il protocollo SSH (riga di comando).

La terza colonna ti dirà da quando questa sessione è stata collegata al server (data e ora). La quarta e ultima colonna ti darà la posizione da cui è connesso, se remoto visualizzerà l'IP da cui viene effettuata la connessione se locale (come la GUI) visualizzerà "(:X)" dove X è il numero di la sessione in questo caso e corrisponderà al numero nella seconda colonna per quella riga.

Concludendo

Come puoi vedere, elencare gli utenti in Linux non è affatto difficile. Consiste in semplici comandi che emetteranno tutte le informazioni per te, qualunque cosa tu voglia fare o ottenere da quelle informazioni è qualcosa che devi filtrare in base a ciò che vuoi controllare sul sistema.

Ad esempio, se vuoi elencare gli utenti in un gruppo in Linux, puoi farlo anche tu. In un argomento correlato, puoi anche leggere di modificare gli utenti nella riga di comando di Linux.

Spero che questo tutorial ti sia piaciuto. Se hai domande o suggerimenti, faccelo sapere nei commenti.


Linux
  1. 10 modi per analizzare i file binari su Linux

  2. Come elencare gli utenti in Linux

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

  4. Linux - Come elencare tutti gli utenti

  5. Come posso elencare tutti gli utenti bloccati in Linux?

Come elencare tutti gli utenti in Linux

Come elencare gli utenti in Linux

Comando SS in Linux

Come elencare utenti e gruppi su Linux

6 modi diversi per elencare i dischi rigidi in Linux

Come elencare tutti gli utenti di un gruppo in Linux