GNU/Linux >> Linux Esercitazione >  >> Linux

Come scoprire a quali gruppi appartiene un utente in Linux

Un gruppo Linux è una raccolta di uno o più utenti con requisiti di autorizzazione identici su file e directory. Un utente può essere un membro di più di un gruppo alla volta. In Linux, le informazioni di ogni gruppo sono archiviate in "/etc/group" file. In questo tutorial, vedremo tutti i modi possibili per scoprire facilmente a quali gruppi appartiene un utente nei sistemi operativi Linux e simili a Unix.

Scoprire i gruppi a cui appartiene un account utente sarà utile in molte occasioni. Ad esempio, l'altro giorno stavo installando Dropbox sul mio server Ubuntu . Durante la configurazione di Dropbox, ho dovuto inserire il mio nome utente corrente e il nome del gruppo. Potresti anche trovarti in una situazione in cui devi identificare i gruppi a cui appartiene un utente. In tal caso, utilizza uno dei seguenti metodi per sapere in quale gruppo si trova un utente.

Scopri a quali gruppi appartiene un utente in Linux

Esistono molti modi per elencare i gruppi di cui un utente Linux è membro. Il metodo più comunemente utilizzato è l'utilizzo di gruppi comando.

Metodo 1 - comando gruppi

I gruppi comando visualizza i nomi dei gruppi correnti e gli utenti appartengono a quei gruppi nei sistemi operativi Linux e simili a Unix.

Per prima cosa, scopriamo quanti gruppi ci sono nel nostro sistema Linux.

Per trovare l'elenco dei disponibili in Linux, esegui i gruppi comando senza argomenti come di seguito:

$ groups

Risultato di esempio:

sk adm disk cdrom sudo dip plugdev lpadmin sambashare kvm libvirt vboxusers

Elenca i gruppi disponibili in Linux

Come puoi vedere nell'output sopra, ci sono attualmente 12 gruppi nel mio sistema.

Ora scopri in quali gruppi un utente specifico, ad esempio sk , appartiene a. Per fare ciò, inserisci il comando "gruppi" seguito dal nome utente come di seguito:

$ groups sk

Risultato di esempio:

sk : sk adm disk cdrom sudo dip plugdev lpadmin sambashare vboxusers kvm libvirt

Scopri a quali gruppi appartiene un utente in Linux usando il comando groups

Qui, sk è il mio nome utente e l'utente sk è il membro di tutti i gruppi di cui sopra. Potresti aver notato che "sk" è elencato due volte. Perché ho usato lo stesso nome sia per il nome utente che per il nome del gruppo.

Per maggiori dettagli sul comando "gruppi", fare riferimento alle pagine di manuale.

$ man groups

Metodo 2 - comando id

Un altro modo per identificare i gruppi in cui si trova un utente è utilizzare "id" comando. Il comando id viene utilizzato per stampare le informazioni sull'utente e sul gruppo per l'UTENTE specificato. Se l'UTENTE non è specificato, stamperà le informazioni per l'utente corrente.

Per identificare tutti i gruppi a cui appartiene un utente usando il comando "id", esegui:

$ id sk

Sostituisci sk con il tuo nome utente.

Risultato di esempio:

uid=1000(sk) gid=1000(sk) groups=1000(sk),4(adm),6(disk),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare),1001(vboxusers),129(kvm),136(libvirt)

Scopri a quali gruppi appartiene un utente in Linux usando il comando id

Come puoi vedere qui, il comando id non solo elenca i gruppi di cui è membro l'utente, ma anche l'id del gruppo e l'id utente (UID e GID) dell'utente specificato e dei gruppi. Ha un output più dettagliato rispetto al comando "groups", quindi se hai bisogno dell'id gruppo/id utente usa questo!

Se non vuoi stampare i numeri, usa semplicemente -Gn segnala come di seguito:

$ id -Gn sk
sk adm disk cdrom sudo dip plugdev lpadmin sambashare vboxusers kvm libvirt

Per maggiori dettagli, fare riferimento alle pagine man.

$ man id

Metodo 3:utilizzo del file "/etc/group"

Come ho già affermato, il /etc/group file contiene le informazioni su ciascun gruppo in un sistema Linux. Puoi trovare a quali gruppi appartiene l'utente specificato dai contenuti di /etc/group file con l'aiuto di "grep" comando come mostrato di seguito:

$ grep sk /etc/group

Risultato di esempio:

adm:x:4:syslog,sk
disk:x:6:sk
cdrom:x:24:sk
sudo:x:27:sk
dip:x:30:sk
plugdev:x:46:sk
lpadmin:x:116:sk
sk:x:1000:
sambashare:x:126:sk
vboxusers:x:1001:sk
kvm:x:129:sk
libvirt:x:136:sk,libvirtdbus

Se vuoi escludere gli ID del gruppo e il nome utente e visualizzare solo i nomi dei gruppi, reindirizza l'output del comando "grep" a "awk" comando come di seguito:

$ grep sk /etc/group | awk -F: '{ print $1 }'

Risultato di esempio:

adm
disk
cdrom
sudo
dip
plugdev
lpadmin
sk
sambashare
vboxusers
kvm
libvirt

Trova a quali gruppi appartiene un utente in Linux usando i comandi grep e awk

Metodo 4 - comando getent

Il "gett" il comando visualizza le voci dai database supportati dalle librerie Name Service Switch, che sono configurate in /etc/nsswitch.conf file.

Possiamo elencare tutti i gruppi disponibili e i loro membri in un sistema Linux usando il comando getent come di seguito:

$ getent group

Per trovare a quali gruppi appartiene un utente specifico (ad es. sk), esegui:

$ getent group | grep sk

Risultato di esempio:

adm:x:4:syslog,sk
disk:x:6:sk
cdrom:x:24:sk
sudo:x:27:sk
dip:x:30:sk
plugdev:x:46:sk
lpadmin:x:116:sk
sk:x:1000:
sambashare:x:126:sk
vboxusers:x:1001:sk
kvm:x:129:sk
libvirt:x:136:sk,libvirtdbus

Se vuoi visualizzare solo i gruppi escludendo tutti gli altri dettagli, filtra l'output con i comandi "grep" e "awk" come di seguito:

$ getent group | grep sk | awk -F: '{ print $1 }'
adm
disk
cdrom
sudo
dip
plugdev
lpadmin
sk
sambashare
vboxusers
kvm
libvirt

Trova a quali gruppi appartiene un utente in Linux usando i comandi getent, grep e awk

Elenca tutti gli utenti che appartengono a un gruppo in Linux

Possiamo anche trovare l'elenco di tutti gli utenti che appartengono a un gruppo specifico. Ad esempio, il comando seguente mostra gli utenti che appartengono al gruppo denominato storage .

$ grep -w storage /etc/group
storage:x:95:sk

Facile, vero? Infatti. Trovare a quali gruppi appartiene un utente e gli utenti di un gruppo specifico è semplicissimo!!

Lettura correlata:

  • Come elencare i membri di un gruppo in Linux
  • Come trovare tutti gli utenti Sudo nel tuo sistema Linux

Questo aiuta.


Linux
  1. Come scoprire l'elenco di tutte le porte aperte in Linux

  2. Come scoprire quale gruppo ha un determinato utente?

  3. Come scoprire quali processi utilizzano lo spazio di swap in Linux?

  4. Come trovare l'utilizzo della memoria dell'utente in Linux

  5. Come scoprire quale processo sta usando un file in Linux?

Come trovare l'indirizzo IP in Linux

Come trovare il nome host in Linux

Come scoprire a quali gruppi appartiene un utente in Ubuntu 20.04

Come trovare quale scheda grafica hai in Linux?

Come cambiare utente su Linux

Come conoscere i gruppi di un utente Linux