GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come aggiungere un utente a un gruppo su RHEL 8 / CentOS 8

Nel contesto di un meccanismo di controllo dell'accesso discrezionale (DAC), l'accesso alle risorse di sistema, ai file e alle directory si basa sull'identità degli utenti e sui gruppi di cui fanno parte. Questo tipo di controllo degli accessi è chiamato "discrezionale" perché un utente può eseguire le proprie decisioni politiche (limitate dalle proprie autorizzazioni, ovviamente). In questo tutorial vedremo come aggiungere un utente a un gruppo e qual è la differenza tra un gruppo primario e uno secondario su un sistema Linux RHEL 8 / CentOS 8.

In questo tutorial imparerai:

  • Qual ​​è la differenza tra un gruppo primario e uno secondario
  • Come aggiungere un utente a un gruppo utilizzando il comando usermod
  • Come aggiungere un utente a un gruppo direttamente con vigr


Come aggiungere un utente a un gruppo su Rhel8

Requisiti e convenzioni software utilizzati

Requisiti software e convenzioni della riga di comando Linux
Categoria Requisiti, convenzioni o versione del software utilizzata
Sistema RHEL 8 / CentOS 8
Software Non è necessario alcun software speciale per seguire questo tutorial
Altro Autorizzazione a eseguire il comando con privilegi di root.
Convenzioni # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando
$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato

Cos'è un gruppo?

Linux, essendo basato su Unix, è un sistema operativo multiutente:più utenti esistono e condividono le risorse nel sistema contemporaneamente. Al livello più semplice, l'accesso a queste risorse è gestito tramite l'uso di un DAC (controllo di accesso discrezionale). L'accesso a file e directory, ad esempio, si basa sull'identità di un utente e sui groups è un membro di. In questo tutorial vedremo come aggiungere un utente a un gruppo esistente su una macchina Red Hat Enterprise Linux 8.

Gruppi primari e secondari

Al giorno d'oggi, Red Hat, come quasi tutte le altre principali distribuzioni Linux, utilizza uno schema chiamato UPG , o User Private Group:ogni volta che viene creato un nuovo utente, automaticamente viene creato anche un nuovo gruppo con lo stesso nome dell'utente e l'utente ne diventa l'unico membro. Questo è ciò che viene chiamato primary o private gruppo.

Ogni utente ha il proprio gruppo principale, che porta il suo nome, senza altri membri. Questa configurazione consente di modificare il umask predefinito valore:tradizionalmente era 022 (questo significa 644 permessi per file e 755 per le directory), ora è solitamente impostato su 002 (664 permessi per file e 775 per le directory).

Poiché, per impostazione predefinita, ogni file o directory creato da un utente viene creato con il gruppo principale di quell'utente, questa configurazione, pur preservando la sicurezza (un utente può comunque modificare solo i propri file), semplifica la condivisione delle risorse e la collaborazione tra gli utenti che sono membri di lo stesso gruppo quando viene utilizzato il bit setgid, consentendo i permessi di scrittura per il gruppo.

Possiamo ottenere un elenco dei gruppi di cui è membro un utente, utilizzando i groups comando:

$ groups
egdoc wheel

Come possiamo osservare dall'output del comando, l'utente corrente, egdoc, appartiene al egdoc gruppo, che è il proprio gruppo principale, e alla wheel group, che gli consente di eseguire comandi con sudo , ed è quello che viene chiamato un secondary group :un gruppo facoltativo che non è associato all'utente per impostazione predefinita.

Aggiungi un utente a un gruppo utilizzando usermod

Sebbene un utente sia l'unico membro del suo gruppo principale, potremmo voler aggiungere un utente a un gruppo secondario, magari per concedergli l'accesso a qualche tipo di risorsa. Supponiamo ad esempio di avere un test utente e vogliamo aggiungerlo al gruppo esistente linuxconfig :il modo più semplice e consigliato per eseguire questa operazione è utilizzare usermod comando:

$ sudo usermod -a -G linuxconfig test

Esaminiamo le opzioni che abbiamo utilizzato. Il usermod utility, modifichiamo un account utente; utilizzandolo possiamo eseguire una vasta gamma di operazioni, come cambiare la home directory di un utente, impostare una data di scadenza per il suo account o bloccarlo immediatamente. Il comando ci consente anche di aggiungere l'utente a un gruppo esistente. Le opzioni che abbiamo usato in questo caso sono -G (abbreviazione di --groups ) e -a , (che è la forma abbreviata di --append ).

L'opzione -G o -groups ci consente di fornire un elenco di gruppi supplementari separati da virgole di cui l'utente dovrebbe essere membro. Come abbiamo detto prima, ogni gruppo fornito deve già esistere nel sistema. Una cosa molto importante da ricordare è che l'elenco dei gruppi forniti viene interpretato in modo diverso se il -a è prevista anche l'opzione o meno:nel primo caso, l'elenco è interpretato come i gruppi supplementari a cui l'utente deve essere aggiunto oltre a quelli di cui è già membro; quando il -a l'opzione non è prevista, invece, l'elenco viene interpretato come l'elenco assoluto di gruppi di cui l'utente dovrebbe essere membro. Come indicato nella manpage del comando, in quest'ultimo caso, se l'utente è attualmente membro di un gruppo che non fa parte dell'elenco fornito al comando, verrà rimosso da quel gruppo!

L'utente "test" è ora un membro del gruppo "linuxconfig". Verifichiamolo:

$ sudo groups test
test : test linuxconfig

Aggiungi utente direttamente a un gruppo

Usando usermod è il modo più semplice per aggiungere un utente a un gruppo. Per ragioni di completezza, esamineremo ora un altro modo per eseguire lo stesso compito utilizzando il vigr comando linux. Questo comando ci permette di modificare il /etc/group e /etc/gshadow direttamente i file, bloccandoli anche mentre sono aperti, per prevenirne il danneggiamento e garantire la coerenza.

La versione "shadow" del file (/etc/gshadow) viene modificata solo quando -s viene utilizzata l'opzione. Per aggiungere il nostro utente "test" al gruppo "linuxconfig" con questo metodo, dovremmo eseguire vigr comando come superutente:il /etc/group il file verrà aperto nell'editor predefinito (di solito vi):

[...]
chrony:x:993:
egdoc:x:1000:
cgred:x:992:
docker:x:991:
apache:x:48:
test:x:1001:test
linuxconfig:x:1002:
[...]

La sintassi utilizzata per rappresentare ogni gruppo è la seguente:

group-name:group-password:group-id:users

I campi sono separati da due punti:il primo è il nome del gruppo, il secondo è la “password” del gruppo (che solitamente non è impostata) e il terzo campo è il GID o ID gruppo. L'ultimo campo è l'elenco separato da virgole dei membri del gruppo. Per aggiungere il nostro utente "test" al gruppo "linuxconfig", dobbiamo modificare questo campo, in modo che la riga diventi:

linuxconfig:x:1002:test

Una volta eseguita la modifica, possiamo salvare e chiudere il file. Sul terminale apparirà un messaggio:

You have modified /etc/group.
You may need to modify /etc/gshadow for consistency.
Please use the command 'vigr -s' to do so.

Dato che abbiamo cambiato il /etc/group file, il messaggio ci suggerisce di modificare anche il relativo file shadow, che è /etc/gshadow . Per quelli di voi che non lo sanno, un file shadow viene utilizzato per archiviare la versione crittografata di informazioni che non sarebbero sicure da archiviare in formato non crittografato. Ad esempio, come abbiamo visto prima, un x è riportato nel /etc/group file, al posto della password di gruppo opzionale; la versione hash della password, se esistente, verrebbe archiviata nel file shadow.

Ora, apportiamo la stessa modifica che abbiamo fatto prima, a /etc/gshadow file, in modo che venga sincronizzato con /etc/group . Tutto quello che dobbiamo fare è fornire i -s segnala al vigr comando:

$ sudo vigr -s

Una volta aperto il file, apportiamo la modifica necessaria:

linuxconfig:!::test

Dopodiché, dobbiamo forzare la scrittura di questo file, poiché è di sola lettura:quando si utilizza vi , possiamo farlo eseguendo w! comando.

Un modo alternativo per mantenere sincronizzati i due file è usare grpconv comando, che crea il /etc/gshadow file da /etc/group e, facoltativamente, da un /etc/gshadow già esistente file:

$ sudo grpconv

A questo punto possiamo verificare la coerenza tra i due file eseguendo:

$ sudo grpck

Nessun output dovrebbe essere visualizzato a questo punto.

Conclusioni

In questo tutorial abbiamo visto la differenza tra un gruppo primario e uno secondario e quali sono i loro ruoli in un DAC modello. Abbiamo visto come possiamo aggiungere un utente a un gruppo usando il usermod comando, che è il modo consigliato, o direttamente usando il vigr comando modificando in modo sicuro il /etc/group e /etc/gshadow File. Qualunque sia la procedura che decidi di utilizzare per svolgere questo compito amministrativo, dovresti sempre prestare la massima attenzione.


Cent OS
  1. Come aggiungere un utente a un gruppo in Linux

  2. Come eseguire rsyslog come utente non root in CentOS/RHEL 7

  3. Come aggiungere/rimuovere l'archivio delle impostazioni internazionali in CentOS/RHEL 5,6

  4. Come aggiungere supporto linguistico aggiuntivo in CentOS/RHEL

  5. Come aggiungere uno script personalizzato a systemd in CentOS/RHEL 7

Come aggiungere un utente al gruppo in Linux

Come aggiungere un utente al gruppo in Linux

Come aggiungere e rimuovere utenti in CentOS 8

Come aggiungere un utente al gruppo su Linux

CentOS / RHEL:come aggiungere una nuova partizione di swap

Come aggiungere un utente a un gruppo Linux