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