Guida a 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 i permessi di un utente Linux. I gruppi definiscono anche a quali file, impostazioni e cartelle l'utente deve avere accesso.
In parole povere, i gruppi ti aiutano a scoprire e impostare i privilegi come read (R
), scrivere (w
) ed eseguire (X
) su una risorsa condivisa tra gli utenti. Puoi anche modificare queste autorizzazioni come e quando richiesto.
Scoprire i gruppi a cui appartiene un account utente ti aiuterà a conoscere le autorizzazioni di un determinato utente e anche a modificare le autorizzazioni ogni volta che è necessario.
Questo breve tutorial ti aiuterà a scoprire i gruppi a cui appartiene un utente usando alcuni comandi e tecniche piuttosto semplici.
Prerequisiti importanti
Prima di approfondire il tutorial, sarebbe utile avere una panoramica di base di alcuni concetti. Consiglierei ai principianti di esaminare prima 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 cui dispone un utente.
Gruppo primario: Il gruppo primario è il gruppo principale associato all'account utente. Ogni utente deve essere membro di un singolo gruppo principale. Viene creato contemporaneamente alla creazione dell'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 membro di più gruppi secondari.
/etc/group
file: In Linux, l'appartenenza al gruppo è controllata dal /etc/group
file. È 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 nel sistema. C'è una voce di un account utente per riga rappresentata in questo file.
Usando il gruppi
comando
Usando il gruppi
comando è un processo semplicissimo per elencare i gruppi a cui appartiene l'utente corrente. È inoltre possibile utilizzare questo comando per elencare i gruppi di un utente specifico registrato nel sistema.
Sintassi:
gruppi
Produzione:
gaurav@ubuntu:~$ gruppi gaurav adm cdrom sudo dip plugdev lpadmin sambashare gaurav@ubuntu:~$
Trovare un gruppo di un particolare utente.
Sintassi:
gruppi [nome utente]
Esempio:
gaurav@ubuntu:~$ gruppi tomcat tomcat : tomcat lpadmin sambashare gaurav@ubuntu:~$
In questo esempio, ho elencato i gruppi a cui l'utente ha chiamato micio appartiene.
Usando il ID
comando
Usando il ID
Il comando visualizza le informazioni sul gruppo dell'utente. Mostra parametri come uid
(ID utente), gid
(ID gruppo) e l'elenco dei gruppi a cui appartiene l'utente.
Sintassi:
ID [nome utente]
Esempio:
gaurav@ubuntu:~$ id tomcat uid=1002(tomcat) gid=1002(tomcat) groups=1002(tomcat),113(lpadmin),128(sambashare) gaurav@ubuntu:~$
ID
comando se utilizzato senza un argomento restituisce le informazioni sul gruppo sull'utente corrente.
Esempio:
gaurav@ubuntu:~$ id uid=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 sul gruppo dell'utente corrente.
Utilizzo del file /etc/group
Come discusso nel blocco dei prerequisiti, sappiamo che /etc/group
file contiene tutte le informazioni dei gruppi disponibili sul sistema. Possiamo utilizzare questo file per visualizzare l'elenco dei gruppi utilizzando un semplice comando come segue.
Puoi usare gatto
, meno
o grep
comando per elencare aprire il contenuto di questo file.
less /etc/group
Produzione:
root:x:0: demone:x:1: bin:x:2: sys:x:3: adm:x:4:syslog,gaurav tty: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:gaurav floppy:x:25: tape:x:26: sudo:x:27:gaurav audio:x:29:pulse dip:x:30:gaurav,batman www-data :x:33:
Questo elencherà gli interi gruppi sul sistema Linux.
Elenco di tutti i gruppi utilizzando getente
comando
getente
Il comando può essere utilizzato per visualizzare un elenco di tutti i gruppi disponibili sul tuo sistema Linux. L'output è simile a quello del contenuto di /etc/group
file.
Usando gruppo get
comando visualizza le voci dai database configurati in /etc/nsswitch.conf
file.
Sintassi:
gruppo get
Esempio:
gaurav@ubuntu:~$ getent group root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4:syslog,gaurav tty:x:5: disk:x :6: lp:x:7: mse dip:x:30:gaurav,batman :x:39: stmp:x:43: video:x:44: sasl:x:45: plugdev:x:46:gaurav staff :x:50: giochi:x:60: utenti:x:100: 106: crontab:x:107: vahi:x:120: bluetooth:x:121: scanner:x:122:saned colord:x:123: pulse:x:124: pulse-access:x:125: rtkit:x:126: saned:x:127: trinity:x:1000: sambashare:x:128:gaurav mongodb:x:130:mongodb guest-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: temporaneo:x:1002:
Per trovare il gruppo di un particolare utente, utilizzare il seguente comando.
gruppo get | grep [nome utente]
Esempio:
gaurav@ubuntu:~$ gruppo getent | grep gaurav adm:x:4:syslog,gaurav cdrom:x:24:gaurav sudo:x:27:gaurav dip:x:30:gaurav,batman plugdev:x:46:gaurav lpadmin:x:113:gaurav gaurav: x:1000: sambashare:x:128:gaurav gaurav@ubuntu:~$
Tutti i gruppi associati all'utente gaurav sono ora elencati sul terminale.
Usando libuser-lid
comando
libuser-lid
Il comando visualizza le informazioni sui gruppi contenenti il nome utente o sugli utenti contenuti nel nome del gruppo.
NOTA:Questo comando richiede sudo
privilegi. Altrimenti incontrerai un errore come segue-
Errore durante l'inizializzazione di libuser: non in esecuzione con i privilegi di superutenteNessun nome utente specificato,
Nel caso in cui libuser-lid
utility non è disponibile sulle tue distribuzioni, puoi utilizzare il seguente comando per installarlo.
Per Ubuntu e Debian utenti:
sudo apt-get update
sudo apt-get install libuser
Per CentOS, Fedora e altre distro:
sudo yum install libuser
Sintassi:
sudo libuser-lid [nome utente]
Esempio:
gaurav@ubuntu:~$ sudo libuser-lid gaurav
Produzione:
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, abbiamo ora imparato a visualizzare i gruppi disponibili sui sistemi Linux. I comandi spiegati in questo tutorial possono essere applicati su tutte le distribuzioni Linux allo stesso modo.