Come elencare i gruppi in Linux

Guida ai vari comandi e tecniche in Linux per elencare i gruppi

Nell’ecosistema Linux, la raccolta di utenti è chiamata “Gruppo”. Quando un utente viene aggiunto a un gruppo, stiamo definendo le autorizzazioni di un utente Linux. I gruppi definiscono anche i file, le impostazioni e le cartelle a cui l’utente deve avere accesso.

Nei termini più semplici, i gruppi ti aiutano a scoprire e impostare i privilegi come read (r), write (w) ed execute (x) su una risorsa condivisa tra gli utenti. È inoltre possibile modificare queste autorizzazioni come e quando richiesto.

Scoprire i gruppi a cui appartiene un account utente ti aiuterà a conoscere le autorizzazioni di un particolare utente e anche a modificare le autorizzazioni quando richiesto.

Questo breve tutorial ti aiuterà a scoprire i gruppi a cui appartiene un utente usando alcuni comandi e tecniche piuttosto semplici.

Pre-requisiti importanti

Prima di approfondire il tutorial, sarebbe utile avere una panoramica di base di alcuni concetti. Consiglierei ai principianti di passare prima attraverso questi concetti.

Gruppo: Una raccolta di utenti sul sistema Linux. Un singolo utente può essere membro di più di un gruppo. Un gruppo definisce le autorizzazioni di un utente.

Gruppo primario: il gruppo primario è il gruppo principale associato all’account utente. Ogni utente deve essere membro di un singolo gruppo primario. Viene creato nello stesso momento in cui viene creato l’account utente e l’utente viene automaticamente aggiunto a questo gruppo. Di solito, il nome del gruppo primario è lo stesso del nome dell’utente.

Gruppo secondario:Il gruppo secondario è facoltativo e un utente può avere o meno un gruppo secondario. Viene utilizzato per concedere alcuni diritti aggiuntivi all’utente. L’utente può essere un membro di più gruppi secondari.

/etc/group file: In Linux, l’appartenenza al gruppo è controllata dal file /etc/group. Si tratta di un semplice file di testo contenente un elenco di gruppi e gli utenti appartenenti a ciascun gruppo.

/etc/passwd file: Questo file contiene informazioni per tutti gli account utente del sistema. C’è una voce di un account utente per riga rappresentata in questo file.

Utilizzo del comando gruppi

L’utilizzo del comando groups è un processo super semplice per elencare i gruppi a cui appartiene l’utente corrente. È inoltre possibile utilizzare questo comando per elencare i gruppi di un utente specifico registrato con il sistema.

Sintassi:

groups

Uscita:

gaurav@ubuntu:~$ groupsgaurav adm cdrom sudo dip plugdev lpadmin sambasharegaurav@ubuntu:~$

Trovare un gruppo di un particolare utente.

Sintassi:

groups 

Esempio:

gaurav@ubuntu:~$ groups tomcattomcat : tomcat lpadmin sambasharegaurav@ubuntu:~$ 

In questo esempio, ho elencato i gruppi a cui appartiene l’utente denominato tomcat.

Utilizzando il comando id

Utilizzando il comando id vengono visualizzate le informazioni di gruppo dell’utente. Mostra parametri come uid (id utente), gid (id gruppo) e l’elenco dei gruppi a cui appartiene l’utente.

Sintassi:

id 

Esempio:

gaurav@ubuntu:~$ id tomcatuid=1002(tomcat) gid=1002(tomcat) groups=1002(tomcat),113(lpadmin),128(sambashare)gaurav@ubuntu:~$

id comando se utilizzato senza un argomento restituisce le informazioni di gruppo sull’utente corrente.

Esempio:

gaurav@ubuntu:~$ iduid=1000(gaurav) gid=1000(gaurav) groups=1000(gaurav),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare)gaurav@ubuntu:~$

Qui vengono visualizzate le informazioni di gruppo dell’utente corrente.

Usando il file /etc/group

Come discusso nel blocco pre-requisito, sappiamo che il file /etc/group contiene tutte le informazioni dei gruppi disponibili sul sistema. Possiamo usare questo file per visualizzare l’elenco dei gruppi usando un semplice comando come segue.

È possibile utilizzare cat, less o grep comando per elencare aprire il contenuto di questo file.

less /etc/group

Uscita:

root:x:0:daemon:x:1:bin:x:2:sys:x:3:adm:x:4:syslog,gauravtty:x:5:disk:x:6:lp:x:7:mail:x:8:news:x:9:uucp:x:10:man:x:12:proxy:x:13:kmem:x:15:dialout:x:20:fax:x:21:voice:x:22:cdrom:x:24:gauravfloppy:x:25:tape:x:26:sudo:x:27:gauravaudio:x:29:pulsedip:x:30:gaurav,batmanwww-data:x:33:

Questo elencherà gli interi gruppi sul sistema Linux.

Elenco di tutti i gruppi utilizzando il comando getent

getent il comando può essere utilizzato per visualizzare un elenco di tutti i gruppi disponibili sul sistema Linux. L’output è simile a quello del contenuto del file /etc/group.

Utilizzando il comando getent group vengono visualizzate le voci dei database configurati nel file /etc/nsswitch.conf.

Sintassi:

getent group

Esempio:

gaurav@ubuntu:~$ getent grouproot:x:0:daemon:x:1:bin:x:2:sys:x:3:adm:x:4:syslog,gauravtty:x:5:disk:x:6:lp:x:7:msedip:x:30:gaurav,batman:x:39:stmp:x:43:video:x:44:sasl:x:45:plugdev:x:46:gauravstaff:x:50:games:x:60:users:x:100:106:crontab:x:107:vahi:x:120:bluetooth:x:121:scanner:x:122:sanedcolord:x:123:pulse:x:124:pulse-access:x:125:rtkit:x:126:saned:x:127:trinity:x:1000:sambashare:x:128:gauravmongodb:x:130:mongodbguest-tqrhc7:x:999:guest-piinii:x:998:scala:x:997:sbt:x:996:guest-oi9xaf:x:995:tomcat:x:1001:tomcat7:x:132:tomcat8:x:133:geoclue:x:105:gdm:x:134:mysql:x:129:couchdb:x:131:temporary:x:1002:

Per trovare il gruppo di un particolare utente, utilizzare il seguente comando.

getent group | grep 

Esempio:

gaurav@ubuntu:~$ getent group | grep gauravadm:x:4:syslog,gauravcdrom:x:24:gauravsudo:x:27:gauravdip:x:30:gaurav,batmanplugdev:x:46:gauravlpadmin:x:113:gauravgaurav:x:1000:sambashare:x:128:gauravgaurav@ubuntu:~$ 

Tutti i gruppi associati all’utente gaurav sono ora elencati sul terminale.

Usando il comando libuser-lid

libuser-lid il comando visualizza informazioni sui gruppi contenenti il nome utente o gli utenti contenuti nel nome del gruppo.

NOTA: Questo comando richiede privilegi sudo. Altrimenti si verificherà un errore come segue-

No user name specified,
Error initializing libuser: not executing with superuser privileges

Nel caso in cui l’utilità libuser-lid non sia disponibile nelle distribuzioni, è possibile utilizzare il seguente comando per installarlo.

Per gli utenti Ubuntu e Debian:

sudo apt-get update
sudo apt-get install libuser

Per CentOS, Fedora e altre distribuzioni:

sudo yum install libuser

Sintassi:

sudo libuser-lid 

Esempio:

gaurav@ubuntu:~$ sudo libuser-lid gaurav

Uscita:

adm(gid=4)cdrom(gid=24)sudo(gid=27)dip(gid=30)plugdev(gid=46)lpadmin(gid=113)trinity(gid=1000)sambashare(gid=128)

Qui sono elencati tutti i gruppi associati al nome utente inserito.

Conclusione

In questo tutorial super semplice, ora abbiamo imparato a visualizzare i gruppi disponibili sui sistemi Linux. I comandi spiegati in questo tutorial possono essere applicati su tutte le distribuzioni Linux nello stesso modo.

Leave a Reply