Come posso condividere una directory con un altro utente?


8

Non voglio che la cartella condivisa sia accessibile a chiunque sul sistema, voglio che sia accessibile solo a un insieme ristretto di utenti.

Come lo faccio?

Risposte:


9

Tratto da questo eccellente post sui forum Ubuntu di Morbius1.

Il classico modo Linux di fare questo genere di cose va in questo modo:

  1. Crea la cartella condivisa:

    sudo mkdir /home/Shared
    
  2. Crea il nuovo gruppo di utenti:

    sudo addgroup newgroup
    
  3. Cambia la proprietà della cartella condivisa nel nuovo gruppo:

    sudo chown :newgroup /home/Shared
    
  4. 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 1nella prima posizione del comando chmod è il bit appiccicoso che impedisce la cancellazione di un file a chiunque che non sia il proprietario.

A 2nella prima posizione del comando chmod è il bit setgid che forza tutti i file nuovi o copiati ad avere il gruppo di quella cartella.

A 3nella 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 chmodcomando in un 5, ad esempio:

sudo chmod 0775 /home/Shared
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.