GNU/Linux >> Linux Esercitazione >  >> Linux

Gestione degli account di gruppo locali in Linux

Come esseri umani, quando scopriamo un nuovo oggetto, il nostro cervello fa un paio di cose. Uno, vediamo l'utilità dell'oggetto. Secondo, assegniamo all'oggetto un gruppo in modo da sapere come classificarlo andando avanti. Ad esempio, se un bambino scopre un martello, generalmente è consapevole che potrebbe essere usato per colpire le cose. Quindi assegnano il martello a un gruppo. In alcuni casi, il bambino etichetta il martello come uno strumento e lo utilizzerà solo per portare a termine un compito. In altri, il bambino etichetterà il martello come un giocattolo. Tuttavia, l'utilità del martello è ancora evidente, quindi assicurati di fare attenzione a quest'ultimo bambino. Ecco perché il raggruppamento è importante.

I gruppi in Linux sono importanti perché gli utenti sono presenti sul sistema per un'utilità definita. Raggruppare gli utenti per utilità (o accesso) è un modo fantastico per garantire che solo gli amministratori dispongano dei privilegi di amministratore e che gli utenti generici possano accedere solo ai file a cui sono destinati. Gli utenti sono suddivisi in tre distinte classificazioni per rendere un po' più semplice il processo di raggruppamento:

  • Superutenti - responsabile dell'amministrazione del sistema. La radice account è il principale superutente e ha UID 0 .
  • Utenti del sistema - account utente utilizzati dal sistema stesso per eseguire processi o demoni. Ciascuno di questi utenti ha i propri file e risorse. Idealmente, gli utenti non accedono come utenti di sistema. L'intervallo di UID è 1-999 .
  • Utenti abituali - account che la maggior parte di noi utilizza per svolgere il proprio lavoro quotidiano. Sono limitati nel loro accesso a file e sistemi e devono ottenere sudoer autorizzazioni per svolgere compiti amministrativi. Gli UID iniziano da 1000+ .

Se desideri ulteriori informazioni sui concetti di base di utenti e gruppi, consulta l'articolo di Ken Hess Gestione dell'account utente con UID e GID. Per il resto di questo pezzo, mi concentrerò sulla creazione di gruppi, sull'appartenenza e sui codici di identificazione, nonché su come assegnare i privilegi di superutente a un gruppo.

Gruppo principale

Tutti gli utenti sono assegnati a un gruppo principale per impostazione predefinita. Per gli account locali, il GID principale è lo stesso elencato in /etc/passwd file. Ciò significa che il nome utente e il nome del gruppo sono gli stessi. Significa anche che l'utente è l'unico membro di quel gruppo. Ad esempio:

[root@server ~]# useradd user01
[root@server ~]# su - user01
[user01@server ~]$ id
uid=1002(user01) gid=1002(user01) groups=1002(user01) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

L'effetto collaterale di questo design è che rende la gestione delle autorizzazioni dei file molto più semplice per utenti e amministratori. Se desideri raccogliere utenti in un gruppo principale per uno scopo comune, devi creare un gruppo e quindi assegnargli gli utenti desiderati.

[ Potrebbe interessarti anche:Nozioni di base sull'amministratore di sistema Linux:Gestione dell'account utente ]

Creazione del gruppo

Per la nostra dimostrazione, creerò il gruppo demogroup . Puoi vedere dall'output che il gruppo è stato creato e assegnato GID 1007:

[root@server ~]# groupadd demogroup
[root@server ~]# tail /etc/group
cockpit-wsinstance:x:975:
flatpak:x:974:
rngd:x:973:
admin:x:1001:
user01:x:1002:
user02:x:1003:
user03:x:1004:
user04:x:1005:
user05:x:1006:
demogroup:x:1007:

Ora cambiamo il GID in 10007:

[tcarrigan@server ~]$ sudo groupmod -g 10007 demogroup 
Output Omitted
[tcarrigan@server ~]$ sudo tail /etc/group
Output Omitted
demogroup:x:10007:

Usa il groupmod -g GID groupname sintassi per modificare il GID di qualsiasi gruppo, se necessario. Se devi cambiare il nome di un gruppo, usa groupmod -n NEWNAME oldname . Ecco un esempio:

[tcarrigan@server ~]$ sudo groupmod -n usergroup demogroup 
[tcarrigan@server ~]$ sudo tail /etc/group
Output Omitted
usergroup:x:10007:

Nota che abbiamo rinominato demogroup a usergroup . Il gruppo è sempre lo stesso, come indicato dal GID 10007.

Aggiunta di utenti a un gruppo

Un gruppo senza membri è come una foresta senza alberi. Quindi come aggiungiamo alcuni membri? Facile da fare.

[tcarrigan@server ~]$ sudo usermod -g usergroup user01
[tcarrigan@server ~]$ sudo usermod -g usergroup user02
[tcarrigan@server ~]$ sudo usermod -g usergroup user03
[tcarrigan@server ~]$ sudo usermod -g usergroup user04
[tcarrigan@server ~]$ sudo usermod -g usergroup user05

Puoi vedere la modifica del GID e del nome del gruppo da quando abbiamo creato user01 all'inizio di questo esercizio.

[user01@server ~]$ id
uid=1002(user01) gid=10007(usergroup) groups=10007(usergroup) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

Gruppo supplementare

Ora un utente può anche appartenere a un gruppo supplementare. Un gruppo supplementare è proprio questo:supplementare. Un uso molto popolare per i gruppi supplementari è assegnare privilegi amministrativi tramite sudo .

Ad esempio, se utente01 deve modificare le autorizzazioni per altri utenti in gruppo utenti , senza assegnare autorizzazioni di amministratore all'intero gruppo, assegniamo utente01 a un gruppo supplementare con autorizzazioni di amministratore. Su molti sistemi, la ruota gruppo viene utilizzato proprio per tali occasioni.

Per aggiungere ruota come gruppo supplementare a user01 :

[tcarrigan@server ~]$ sudo usermod -aG wheel user01
[tcarrigan@server ~]$ su - user01
Output Omitted
[user01@server ~]$ id
uid=1002(user01) gid=10007(usergroup) groups=10007(usergroup),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

NOTA :Il -a l'opzione forza usermod in aggiungi modalità. Se il -a non viene utilizzata, l'utente viene rimosso da tutti gli altri gruppi supplementari non elencati nel -G elenco delle opzioni.

Ora puoi vedere quell'utente01 ha un gruppo principale (gruppo utenti ) e un gruppo supplementare (ruota ).

Configurazione gruppo Sudo

E se dovessimo concedere il privilegio di amministratore all'intero gruppo utente ? Per fare ciò, dobbiamo creare il /etc/sudoers.d/usergroup file:

[root@server ~]# echo "%usergroup ALL=(ALL) ALL" >> /etc/sudoers.d/usergroup
[root@server ~]# su - user02
[user02@server ~]$ sudo cat  /etc/sudoers.d/usergroup
[sudo] password for user02:  
%usergroup ALL=(ALL) ALL

Puoi vedere sopra quell'utente02 , un membro di gruppo utenti , ora ha i privilegi di amministratore. Per ulteriori informazioni sui privilegi di amministratore e sul file sudoers, consulta il mio precedente articolo Nozioni di base sulla riga di comando di Linux:sudo.

[ Vuoi testare le tue capacità di amministratore di sistema? Fai una valutazione delle abilità oggi. ] 

Perché dovrebbe interessarti?

Se ti poni la domanda di cui sopra, pensa praticamente ai seguenti concetti:L'uso dei gruppi in Linux è una parte fondamentale del sistema operativo ed è persino necessario per eseguire varie applicazioni. L'assegnazione di utenti a gruppi facilmente controllabili è un ottimo modo per aumentare rapidamente la sicurezza sui sistemi e gestire più account utente. Come mostrato sopra, puoi consentire a determinati utenti di accedere ai privilegi di amministratore per completare un lavoro specifico senza concedere loro l'accesso come root al sistema. Se riusciamo a mantenere i nostri utenti organizzati e produttivi, assicurandoci che abbiano accesso solo a ciò di cui hanno bisogno, semplificheremo la nostra vita e le nostre relazioni tra utenti e amministratori saranno un po' meno stressanti. La tua organizzazione trarrà vantaggio da questi miglioramenti da zero, che lo sappiano o meno.


Linux
  1. Buon compleanno, Linux:27 anni

  2. Come aggiungere un utente a un gruppo in Linux

  3. Elenca i membri di un gruppo in Linux

  4. 3 modi per elencare gli utenti in Linux

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

Comando Chgrp in Linux (Cambia gruppo)

Come migrare gli utenti locali agli account LDAP

Introduzione alla gestione dei container Linux

Protezione di un sistema Linux ereditato

Come modificare una shell utente in Linux

Come elencare tutti gli utenti di un gruppo in Linux