[Scuola] Impedire agli alunni di fare danni alla partizione NTFS

antonio.guermani@inwind.it antonio.guermani@inwind.it
Tue Dec 7 15:24:05 CET 2010


Ciao a tutti,
grazie ai suggerimenti credo di essere venuto a capo della faccenda (senza risolverla completamente).
Spero possa servire ad altri.

==== Vi ricordo il problema ===

In un dual boot Win7-Ubuntu permettere agli utenti che accedono a Ubuntu di scrivere in una partizione NTFS ma impedire loro di modificare/cancellare alcuni file. Il perché è spiegato più in dettaglio nella mia prima mail. E' ovvio che la soluzione più semplice sarebbe quella di avere una partizione ntfs separata da quella contenente i file di sistema di Windows e che si possa tranquillamente usare per i file da manipolare in entrambi i sistemi Win-Linux.

=== Suggerimenti vostri ===

Ha ragione Alessandro quando dice che, con le sole opzioni disponibili del comando mount, non è possibile in Linux avere permessi differenziati nelle subdirectory di una partizione NTFS.

La soluzione suggerita da Stefano è quella di indicata dal link che mi ha suggerito:
http://b.andre.pagesperso-orange.fr/permissions.html
e cioè quella di usare un'estensione di ntfs-3g per gestire le ACL di Windows e Linux.
Da quello che sono riuscito a capire (poco), leggendo il link, non è cosa semplice e sarebbe troppo laboriosa nel mio caso perché richiede tutta una procedura per mappare gli utenti windows in ogni computer.
In ogni caso non è una soluzione adatta a laureati in geologia quale io sono :-(

Cristian propone di usare l'opzione --bind del comando mount, per "rimontare" da un'altra parte una subdirectory della partizione, cambiandone i permessi. Ma non funziona, come ho verificato di persona e come si può leggere in man mount:

"Note that the filesystem mount options will remain the same as those on the original mount point, and cannot be changed by passing the -o option along with --bind/--rbind."

Comunque il suo consiglio mi è stato utilissimo e ho usato --bind con un altro scopo, cioè quello di nascondere il più possibile la partizione.

=== Soluzione mia ===

Immaginiamo che la partizione ntfs sia la sda3 chiamata "Data"
1) Nella partizione "Data", nascondo tutti i file che non voglio siano manipolati creando il file .hidden, come indicato qui:
http://www.geekissimo.com/2010/10/14/ubuntu-nascondere-cartelle-partizioni-windows/
2) Creo una directory "Condividi_in_Ubuntu" nella partizione "Data"
3) Creo una directory "Condividi_in_Win7" sulla scrivania
4) In fstab aggiungo la riga

/dev/sda3 /mnt/Data ntfs defaults 0 0

Ho scelto di montare in /mnt perché in Ubuntu montando all'avvio in /mnt invece che in /media si evita che la partizione compaia come disco sulla scrivania e sul menu "Risorse" dove sarebbe facilmente raggiungibile da mani inesperte (ricordo che devo tenerla necessariamente scrivibile)

5) In fstab aggiungo la riga

/mnt/Win/Condividi_in_Ubuntu /home/alunno/Scrivania Condividi_in_Win7 none bind 0 0

in questo modo SOLO la subdirectory "Condividi_in_Ubuntu" diventa accessibile dalla scrivania con il nome di "Condividi_in_Win7".

6) Aggiungo un'icona personalizzata a forma di disco sulla cartella "Condividi_in_Win7", tipo la seguente:
http://www.mricons.com/icon/1939/64/hd2-windows-icon

=== Risultato ===

L'utente all'avvio entrando in Ubuntu vede sempre e solo il disco sulla scrivania con il nome "Condividi_in_Win7".
Ovviamente l'utente potrebbe ancora modificare la partizione, ma dovrebbe andare appositamente in /mnt/Data e spuntare la casella "mostra file nascosti". Viceversa entrando in Windows vede gli stessi file contenuti nella cartella dal nome "Condividi_in_Ubuntu", con un'icona adeguata.

Se avessi fatto un semplice collegamento sulla scrivania del file /mnt/Data/Condividi_in_Ubuntu (rinominandolo) questo non avrebbe avuto lo stesso effetto perché il collegamento si può spostare e/o cancellare, mentre la cartella dov'è montata la subdirectory della partizione l'utente non la può toccare.

Antonio




More information about the scuola mailing list