Qual è la differenza tra il gruppo primario e il gruppo secondario in Ubuntu?
Qual è la differenza tra il gruppo primario e il gruppo secondario in Ubuntu?
Risposte:
Il gruppo primario è il gruppo che ti viene applicato quando accedi utilizzando i soliti metodi (TTY, GUI, SSH, ecc.).
Poiché i processi di solito ereditano il gruppo del genitore e il processo iniziale o la shell avrebbero come gruppo il tuo gruppo primario, qualsiasi cosa tu faccia di solito ha l'effetto del gruppo primario su di esso (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 accedere tramite il newgrp
comando.
Quindi se hai un gruppo primario x
e un gruppo secondario y
,
touch foo
di solito crea un file con x
il proprietario del gruppo (a meno che la directory principale non sia SETGID per un altro gruppo). Tuttavia, puoi fare:
sg y 'touch bar'
# or
newgrp y
touch baz
Quindi bar
e baz
verrà creato con y
come gruppo.
Tuttavia, se non hai un gruppo nei tuoi gruppi secondari (diciamo z
), i comandi sg
e newgroup
ti chiederanno la password del gruppo se li usi z
.
Se stai parlando di gruppi di file system, sono spiegati abbastanza bene qui l'articolo di cyberciti . Il gruppo primario viene utilizzato per impostazione predefinita durante la creazione di un nuovo file. Puoi provarlo
touch foo
ls -la foo
Il file sarà di tua proprietà e farà parte del tuo gruppo principale. Gli utenti che appartengono anche al tuo gruppo principale avranno 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 su una directory. Questo è spiegato qui: cartella condivisa con SetGID .