Qual è la differenza tra gruppo primario e gruppo secondario in Ubuntu?

20

Qual è la differenza tra gruppo primario e gruppo secondario in Ubuntu?

    
posta Nematullah Tanin 17.10.2014 - 10:41

2 risposte

15

Il gruppo principale è il gruppo applicato all'utente quando si accede utilizzando i metodi usuali (TTY, GUI, SSH, ecc.).

Poiché i processi di solito ereditano il gruppo del genitore, e il processo o la shell iniziale avrebbe il gruppo primario come gruppo, qualsiasi cosa di solito ha l'effetto del gruppo principale su di essa (creando file, ad esempio).

I gruppi secondari sono i gruppi in cui è possibile avviare i processi senza utilizzare una password di gruppo, tramite sg o per registrare in tramite il comando newgrp .

Quindi se hai un gruppo principale x e un gruppo secondario y ,

touch foo

di solito creerà un file con x come proprietario del gruppo (a meno che la directory padre non sia SETGID in un altro gruppo). Tuttavia, puoi fare:

sg y 'touch bar'
# or
newgrp y
touch baz

Quindi bar e baz verranno creati con y come gruppo.

Tuttavia, se non hai un gruppo nei tuoi gruppi secondari (ad esempio z ), i comandi sg e newgroup chiederanno la password del gruppo se li usi con z .

    
risposta data muru 17.10.2014 - 12:57
4

Se stai parlando di gruppi di file system, sono spiegati abbastanza bene qui cyberciti articolo . Il gruppo primario viene utilizzato per impostazione predefinita durante la creazione di un nuovo file. Puoi testare questo

touch foo
ls -la foo

Il file sarà di tua proprietà e si troverà nel tuo gruppo principale. Gli utenti che si trovano anche nel tuo gruppo principale disporranno di autorizzazioni a livello di gruppo su tali file.

Puoi controllare i tuoi gruppi secondari con

groups $(whoami)

È anche possibile condividere file con persone che non fanno parte del gruppo principale impostando Imposta ID gruppo in una directory. Questo è spiegato qui: cartella condivisa con SetGID .

    
risposta data Eero Aaltonen 17.10.2014 - 12:45

Leggi altre domande sui tag