Linux Tutorial for Beginners: Introduction to Linux Operating System
Sommario:
- Gruppi Linux
- Elenca tutti i gruppi di cui un utente è membro
- Utilizzando il comando
groups
- Utilizzando il comando
id
- Elenca tutti i membri di un gruppo
- Elenca tutti i gruppi
- Conclusione
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 primario o di accesso: è il gruppo assegnato ai file creati dall'utente. Di solito, il nome del gruppo primario è uguale al nome dell'utente. Ogni utente deve appartenere esattamente a un gruppo primario.
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 primario è memorizzato nel
/etc/passwd
e i gruppi supplementari, se presenti, sono elencati nel
/etc/group
.
Un modo per trovare i gruppi dell'utente è elencare il contenuto di quei file usando
cat
,
less
o
grep
. Un'altra opzione più semplice è utilizzare un comando il cui scopo è fornire informazioni sugli utenti e sui gruppi del sistema.
Utilizzando il comando
groups
Il comando più memorabile per elencare tutti i gruppi di cui un utente è membro è il comando
groups
. Se eseguito senza un argomento, il comando stamperà un elenco di tutti i gruppi a cui l'utente attualmente connesso appartiene:
groups
Il primo gruppo è il gruppo primario.
john adm cdrom sudo dip plugdev lpadmin sambashare
Per ottenere un elenco di tutti i gruppi a cui appartiene un utente specifico, fornire il nome utente al comando
groups
come argomento:
groups linuxize
Come prima del primo gruppo è il gruppo primario.
Utilizzando il comando
id
Il comando
id
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
, digitare:
id linuxize
Il comando mostrerà il nome utente (
uid
), il gruppo primario dell'utente (
gid
) e i gruppi secondari (
groups
) dell'utente
uid=1001(linuxize) gid=1001(linuxize) groups=1001(linuxize), 27(sudo)
Per stampare solo i nomi senza ID utente e gruppo, utilizzare l'opzione
-n
. L'opzione
-g
stamperà solo il gruppo primario e
-G
tutti i gruppi.
Il comando seguente stamperà i nomi dei gruppi di cui l'utente corrente è membro:
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, utilizzare il comando
getent group
seguito dal nome del gruppo.
Ad esempio, per scoprire i membri di un gruppo con il nome di
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 sul sistema è sufficiente aprire il
/etc/group
. Ogni riga in questo file rappresenta le informazioni per un gruppo.
less /etc/group
Un'altra opzione è quella di utilizzare il comando
getent
che visualizza le voci dei database configurati nel file
/etc/nsswitch.conf
incluso il database del
group
che possiamo usare per interrogare un elenco di tutti i gruppi.
Per ottenere un elenco di tutti i gruppi, digitare il comando seguente:
getent group
L'output è lo stesso di quando si visualizza il contenuto del
/etc/group
. Se si utilizza LDAP per l'autenticazione utente,
getent
visualizzerà tutti i gruppi sia dal
/etc/group
che dal 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}'
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.
terminaleCome creare ed elencare rami git locali e remoti
Quando si corregge un bug o si lavora su una nuova funzionalità, gli sviluppatori stanno creando un nuovo ramo che in seguito può essere unito alla base di codice principale. Questa guida illustra come creare ed elencare filiali Git locali e remote.
Come impostare ed elencare le variabili di ambiente in Linux
Nei sistemi basati su Linux e Unix le variabili d'ambiente sono un insieme di valori nominali dinamici, memorizzati nel sistema che vengono utilizzati dalle applicazioni lanciate in shell o subshells. In parole semplici, una variabile di ambiente è una variabile con un nome e un valore associato. In questa guida, spiegheremo come leggere e impostare le variabili di ambiente e shell.
Come elencare gli utenti in linux
Hai mai desiderato elencare tutti gli utenti nel tuo sistema Linux o contare il numero di utenti nel sistema? Esistono comandi per creare un utente, eliminare un utente, elencare gli utenti che hanno effettuato l'accesso, ma qual è il comando per elencare tutti gli utenti in Linux?