GNU/Linux >> Linux Esercitazione >  >> Linux

Come elencare i gruppi in Linux

In Linux, un gruppo è una raccolta di utenti. Lo scopo principale dei gruppi è definire un insieme di privilegi come l'autorizzazione di lettura, scrittura o esecuzione per una determinata risorsa che può essere condivisa tra gli utenti all'interno del gruppo. Gli utenti possono essere aggiunti a un gruppo esistente per utilizzare i privilegi che concede.

Questo tutorial spiega come mostrare tutti i gruppi di cui un utente è membro. Spiegheremo anche come elencare tutti i membri di un gruppo.

Gruppi Linux #

Esistono due tipi di gruppi a cui un utente può appartenere:

  • Gruppo principale o di accesso – è il gruppo assegnato ai file creati dall'utente. Di solito, il nome del gruppo principale è lo stesso del nome dell'utente. Ogni utente deve appartenere esattamente a un gruppo principale.

  • Gruppo secondario o supplementare - utilizzato per concedere determinati privilegi a un insieme di utenti. Un utente può essere membro di zero o più gruppi secondari.

Elenca tutti i gruppi di cui un utente è membro #

Esistono diversi modi per scoprire i gruppi a cui appartiene un utente.

Il gruppo dell'utente principale è memorizzato in /etc/passwd file e gli eventuali gruppi supplementari sono elencati in /etc/group file.

Un modo per trovare i gruppi dell'utente è elencare il contenuto di quei file usando cat , less o grep . Un'altra opzione più semplice consiste nell'utilizzare un comando il cui scopo è fornire informazioni sugli utenti e sui gruppi del sistema.

Utilizzo dei groups comando #

Il comando più memorabile per elencare tutti i gruppi di cui un utente è membro è il groups comando. Se eseguito senza un argomento, il comando stamperà un elenco di tutti i gruppi a cui appartiene l'utente attualmente connesso:

groups

Il primo gruppo è il gruppo principale.

john adm cdrom sudo dip plugdev lpadmin sambashare

Per ottenere un elenco di tutti i gruppi a cui appartiene un utente specifico, fornisci il nome utente ai groups comando come argomento:

groups linuxize

Come prima, il primo gruppo è il gruppo principale.

linuxize : linuxize sudo

Utilizzo dell'id comando #

Il id comando stampa informazioni sull'utente specificato e sui suoi gruppi. Se il nome utente viene omesso, mostra le informazioni per l'utente corrente.

Ad esempio per ottenere informazioni sull'utente linuxize dovresti digitare:

id linuxize

Il comando mostrerà l'ID utente (uid ), il gruppo principale dell'utente (gid ) e i gruppi secondari dell'utente (groups )

uid=1001(linuxize) gid=1001(linuxize) groups=1001(linuxize),27(sudo)

Per stampare solo i nomi invece dei numeri usa il -n opzione. Opzione -g stamperà solo il gruppo principale e -G tutti i gruppi.

Il comando seguente stamperà i nomi dei gruppi di cui è membro l'utente corrente:

id -nG
john adm cdrom sudo dip plugdev lpadmin sambashare

Elenca tutti i membri di un gruppo #

Per elencare tutti i membri di un gruppo, usa il getent group comando seguito dal nome del gruppo.

Ad esempio, per scoprire i membri di un gruppo con il nome developers dovresti usare il seguente comando:

getent group developers

Se il gruppo esiste, il comando stamperà il gruppo e tutti i suoi membri:

developers:x:126:frank,mary

Se non c'è output significa che il gruppo non esiste.

Elenca tutti i gruppi #

Per visualizzare tutti i gruppi presenti nel sistema è sufficiente aprire il /etc/group file. Ogni riga in questo file rappresenta le informazioni per un gruppo.

less /etc/group

Un'altra opzione è usare il getent comando che visualizza le voci dai database configurati in /etc/nsswitch.conf file che include il group database che possiamo usare per interrogare un elenco di tutti i gruppi.

Per ottenere un elenco di tutti i gruppi, digita il seguente comando:

getent group

L'output è lo stesso di quando si visualizza il contenuto del /etc/group file. Se stai usando LDAP per l'autenticazione utente, getent visualizzerà tutti i gruppi di entrambi /etc/group file e database LDAP.

Puoi anche usare awk o cut per stampare solo il primo campo contenente il nome del gruppo:

getent group | awk -F: '{ print $1}'
getent group | cut -d: -f1

Conclusione #

In questo tutorial, hai imparato come trovare i gruppi di cui un utente è membro. Gli stessi comandi si applicano a qualsiasi distribuzione Linux, inclusi Ubuntu, CentOS, RHEL, Debian e Linux Mint.

Sentiti libero di lasciare un commento in caso di domande.


Linux
  1. Come utilizzare il comando SS di Linux

  2. Come aggiungere un utente a un gruppo in Linux

  3. Come aggiungere/elencare/rimuovere un gruppo?

  4. Elenca i membri di un gruppo in Linux

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

Come elencare i dischi su Linux

Come elencare i servizi su Linux

Come elencare utenti e gruppi su Linux

Come elencare tutti gli utenti di un gruppo in Linux

Comandi di gestione dei gruppi in Linux

Come elencare tutti i gruppi in Linux?