Risposte:
Tratto da questo eccellente post sui forum Ubuntu di Morbius1.
Il classico modo Linux di fare questo genere di cose va in questo modo:
Crea la cartella condivisa:
sudo mkdir /home/Shared
Crea il nuovo gruppo di utenti:
sudo addgroup newgroup
Cambia la proprietà della cartella condivisa nel nuovo gruppo:
sudo chown :newgroup /home/Shared
Aggiungi gli utenti desiderati a quel gruppo:
sudo adduser user1 newgroup
Ripeti per tutti gli utenti.
Ora hai alcune decisioni da prendere su ciò che vuoi che quegli utenti siano in grado di fare:
[a] Tutti gli utenti del gruppo possono aggiungere ed eliminare dalla cartella e possono leggere e non scrivere a vicenda file:
sudo chmod 0770 /home/Shared
[b] Come sopra ma solo il proprietario del file può eliminarlo:
sudo chmod 1770 /home/Shared
[c] Tutti gli utenti del gruppo possono aggiungere ed eliminare dalla cartella e possono leggere e scrivere sui file degli altri:
sudo chmod 2770 /home/Shared
[d] Come [c] tranne che solo il proprietario del file può eliminarlo:
sudo chmod 3770 /home/Shared
A 1
nella prima posizione del comando chmod è il bit appiccicoso che impedisce la cancellazione di un file a chiunque che non sia il proprietario.
A 2
nella prima posizione del comando chmod è il bit setgid che forza tutti i file nuovi o copiati ad avere il gruppo di quella cartella.
A 3
nella prima posizione del comando chmod è la combinazione dei bit sticky ( 1
) e setgid ( +2
).
C'è un avvertimento in tutto questo per quanto riguarda il bit setgid. Tutti i nuovi file creati e tutti i file copiati in quella cartella erediteranno infatti il gruppo della cartella. Ma non i file spostati in quella cartella. I file spostati mantengono la proprietà da dove sono stati spostati. Un modo per superare questo problema è usare bindfs.
Infine, se vuoi che altri al di fuori del gruppo siano in grado di vedere i file senza cambiarli, cambia lo 0 finale nel chmod
comando in un 5, ad esempio:
sudo chmod 0775 /home/Shared