Montare una cartella Windows con permessi di scrittura in Ubuntu


17

Apparentemente la risposta è qui: /superuser/251537/mount-specific-ntfs-directory-on-linux ma non funziona come previsto.

Ho un sistema a doppio avvio con Windows 7 e Ubuntu 13.04 (aggiornato dalla 12.10) e desidero accedere alle mie cartelle personali di Windows 7 sia in lettura che in scrittura. Ho seguito le istruzioni in base al link indicato e il mio /etc/fstabfile è simile al seguente:

/dev/sda1 /media/windows ntfs ro,umask=0222,defaults 0 0
/media/windows/Users/MyUser/    /home/myuser/Windows    ntfs-3g rbind,user,umask=0222,defaults 0 0
/media/windows/Users/OtherUser/ /home/otheruser/Windows ntfs-3g rbind,user,umask=0222,defaults 0 0

Funziona quasi come previsto. La mia partizione di Windows è attiva /media/windows/con autorizzazioni di sola lettura e la mia cartella personale di Windows è in ~/Windows. Tuttavia, questa cartella personale è anche di sola lettura.

Nota: lo sto configurando in un ambiente multisessione, quindi ho bisogno che funzioni per la mia sessione e per le sessioni di altri utenti. Ho bisogno che ogni utente possa accedere e poter scrivere e leggere le proprie cartelle Windows da Linux.


Esiste un modo per modificare e testare le configurazioni senza dover riavviare l'intero sistema. Finora ho provato a cambiare umask (a 0002), aggiungendo parametri uid e gid, ecc. Senza risultati positivi, ma ogni modifica richiede un arresto del sistema.
Carlos Eugenio Thompson Pinzón,

Avevo assegnato la taglia 100 a totti per l'idea o il montaggio della partizione /root/(che sta funzionando). La mia soluzione attuale utilizza i suggerimenti forniti da falconer, ajThapa, totti e yilmi, nessuno di essi funziona come previsto nella domanda originale (le protezioni non sono sufficienti), ma funziona (gli utenti hanno accesso rw ai propri dati). Tutte queste risposte menzionate sono state votate.
Carlos Eugenio Thompson Pinzón,

Risposte:


6

La domanda super utente collegata sopra è per il montaggio di partizioni e sottodirectory in modalità di sola lettura. È necessario solo la sottodirectory (cartella personale) da leggere / scrivere.

Per prima cosa controlla che il tuo sistema possa montare la partizione ntfs in modalità lettura-scrittura

mount -t ntfs-3g  -o rw /dev/sda1 /media/windows

Ora prova se la fs montata è scrivibile. In caso contrario, fermati qui e fai un'altra domanda in questo sito.

Il problema è che la sottodirectory di una partizione montata su RO non può trovarsi in RW. Quindi la soluzione è montare la partizione di Windows in RW in un luogo nascosto e inaccessibile. Quindi montiamolo su / root / win che è inaccessibile agli utenti non root (senza sudo)

In qualità di principale utente non segue
Passaggi
1. Montare finestre partizione nella RW

mount -t ntfs-3g -o rw /dev/sda1 /root/win  

2. Legalo

mount --bind /root/win/Users/MyUser/  /home/myuser/Windows  

3. Associare un'istanza di sola lettura della partizione di Windows

mount --bind /root/win /media/windows  
mount -o remount,ro /media/windows

Ora dovrebbe essere tutto a posto. Inoltre puoi smontare la partizione di Windows ma ti avverto che in alcuni sistemi renderà inaccessibile quello associato (@home). Il codice èumount /root/win

In alternativa puoi montare la partizione di Windows in RW su / media / windows (invece di / root / win) e associarla immediatamente allo stesso punto di montaggio (/ media / windows) in modo che nessuno (anche root) possa scrivere sul partizione (ma nella cartella utente).


Funziona ? Qual è il problema?
Totti,

La prima parte, il montaggio di rw in / media / windows sembra funzionare anche se non riporta le autorizzazioni che posso effettivamente toccare e modificare i file.
Carlos Eugenio Thompson Pinzón,

Durante il rimontaggio ottengo il seguente errore:Remounting is not supported at present. You have to umount volume and then mount it once again.
Carlos Eugenio Thompson Pinzón il

Penso che sia il problema del tuo sistema. Ho provato questo con successo in Ubuntu 12.10. Non vedo mai questo errore nemmeno in Ubuntu 10.04. Puoi provarlo in un sistema live (poiché sembra che tu abbia aggiornato il sistema operativo).
Totti,

Grazie +1 anche a me per una soluzione elegante e una spiegazione molto chiara. Mi piace soprattutto il trucco per montare la cartella utente in modo che uno (anche root) possa scrivere su una cartella diversa da quella dell'utente. Questa è davvero la soluzione migliore in quanto nessuna istanza del sistema operativo diversa dall'istanza di Windows 8.1 a cui appartengono i file di sistema può accedere a tali file di sistema. I dati condivisi, tuttavia, sono una storia diversa.
Bill The Ape,

5

Dubito che la risposta del superutente collegato sia efficace. (Anche se non posso provarlo.) Da man mount:

Nota che le opzioni di mount del filesystem rimarranno le stesse di quelle sul punto di mount originale, e non possono essere cambiate passando l'opzione -o insieme a --bind / - rbind. Le opzioni di montaggio possono essere modificate da un comando di rimozione separato, ad esempio:

mount --bind olddir newdir
mount -o remount,ro newdir

Dubito anche che sia possibile --rbinduna parte di un file system con un driver di file system diverso (ntfs vs ntfs-3g).

Quando rbindil comando mount ignora ogni opzione, quindi nulla diventerà lettura-scrittura. E poiché il driver ntfs del kernel non supporta le scritture, ovviamente l' rwopzione non aiuta neanche con quella. Utilizzare il driver ntfs-3g.

Fondamentalmente quello che dovresti fare è questo (in un terminale):

mount -t ntfs-3g -o ro /dev/sda1 /media/windows
mount --bind /media/windows/Users/MyUser/    /home/myuser/Windows
mount -o remount,rw /home/myuser/Windows

(Penso che --rbindsia anche inutile, --binddovrebbe essere sufficiente.)

E per quanto riguarda il commento sotto la domanda: ovviamente non è necessario riavviare il sistema per i test, basta usare il mountcomando come ho fatto sopra. (E smontare con il umountcomando.)

Dopo aver confermato che funziona come previsto, basta modificare il mount e aggiungere le opzioni desiderate: uid, gid, umask, ecc.


Bene, posso provare usando mount, tuttavia quando trovo la configurazione funzionante, voglio farlo automaticamente, con /etc/fstabo con qualsiasi altro mezzo. (Con la domanda Ob: come posso tradurre i mountcomandi in fstabparametri?)
Carlos Eugenio Thompson Pinzón

@ CarlosEugenioThompsonPinzón fstabÈ solo un file che viene analizzato in sequenza dal mountcomando all'avvio. Ma penso che Ubuntu non usi mountma mountallall'avvio, che potrebbe non eseguire i comandi in fstab in sequenza. Quindi sì, mettere semplicemente questi parametri di comando su fstabpotrebbe non funzionare. Ma si può sempre mettere semplicemente il lavoro di montaggio comandi in uno script di avvio (ad esempio /etc/rc.local) o fare un lavoro parvenu da quelli. La cosa più importante nel tuo caso è scoprire uno schema di montaggio funzionante, renderlo automount all'avvio è un lavoro facile.
falconiere,

@ CarlosEugenioThompsonPinzón Oops Ho perso l'ultima domanda dal tuo commento. Quindi, come si traducono i comandi mount in fstab? Puoi cercarlo dentro man mounto qui . Breve storia: primo campo: dispositivo da montare, secondo campo: punto di montaggio, terzo campo: tipo fs (più precisamente driver fs), quarto campo: opzioni di montaggio, l'altro campo ora è meno importante. Quindi dal comando mount la stringa che abbiamo scritto -tva nel terzo campo, la stringa che abbiamo scritto -ova nel quarto campo.
falconiere

3

Vedi se questo aiuta ...

Se sda1è già montato /media/windows, è possibile smontarlo con:

sudo umount /media/windows

Quindi creare la directory windowsin /media/:

sudo mkdir /media/windows

Modifica /etc/fstabcome di seguito:

/dev/sda1  /media/windows ntfs-3g  rw,nodev,noexec,auto,nouser,async,locale=en_US.utf8,uid=1000,gid=1000,umask=0002 0 0

/media/windows/Users/MyUser/  /home/myuser/Windows  ntfs-3g rbind,user,rw,nodev,noexec,auto,async,uid=1000,gid=1000,umask=0002 0 0

/media/windows/Users/OtherUser/  /home/otheruser/Windows  rbind,user,rw,nodev,noexec,auto,async,uid=1001,gid=1001,umask=0002 0 0

( Nota : cambia i valori di uid e gid come per l'utente. Per ottenere l'uid e il gid di un utente puoi usare il comando id -u usernamee id -g usernameresp.)

Ora puoi montarli con il comando:

sudo mount -a

Ora vai alle directory ricollegate e vedi se riesci a modificare il file. E dovresti aver finito.


Ok, ho i permessi rw attivi /media/windows(non riportati inls , ma posso modificare i file) come root, tuttavia nelle directory locali che devo sudomodificare per modificare i file.
Carlos Eugenio Thompson Pinzón,

... e ora tutte le directory montate mi appartengono (utente 1000), da /media/windowsa/home/someotheruser/Windows .
Carlos Eugenio Thompson Pinzón,

Immagino che ora tu e altri utenti possiate realizzare e salvare lavori nel settore. mount-points nella $ HOME degli utenti ... se gli altri utenti non sono ancora in grado di avere accesso RW, aggiungili al tuo gruppo (probabilmente con gid 1000)
preciso il

Attualmente ho un gruppo a cui sono collegati tutti gli utenti locali e concedo le autorizzazioni di scrittura a quel gruppo. Ciò risolve "ogni utente ha accesso rw ai propri dati" ma l'intera partizione e i dati di altri utenti non sono protetti.
Carlos Eugenio Thompson Pinzón,

3

Fai tutti i test prima di modificare il file di configurazione di fstab.

Bene, probabilmente sai che il filesystem ntfs viene automaticamente montato in sola lettura se il file system è contrassegnato come sporco. Quello che devi fare prima di provare una delle risposte è montare il disco in Windows ed eseguire chkdsk prima di provare a montarlo di nuovo.

Inoltre, se il montaggio in rw non riesce ancora, dovresti provare a montare con diverse opzioni di tipo di montaggio come sudo mount -t ntfsosudo mount -t ntfs-3g

Una volta montato fs in rw è possibile effettuare le seguenti operazioni:

mount --bind /media/MOUNTPOINT/TARGETFOLDER /home/SHAREDDIRECTORY/ mount -o remount,ro /home/SHAREDDIRECTORY/

o

sudo gksu nautiluso sudo gksu dolphinper aprire un esploratore con diritti di su


Grazie per il chkdsk. C'erano davvero alcune corruzioni nella partizione NTFS, e ora posso scrivere sull'unità montata con sudo.
Carlos Eugenio Thompson Pinzón,

2

Perché non provare a montarlo con l'attributo di lettura e scrittura: rw ?

/ dev / sda1 / media / windows ntfs rw , umask = 0222, valori predefiniti 0 0


Controllerò, tuttavia preferirei che l'intera partizione fosse di sola lettura e solo alcune cartelle specifiche come lettura-scrittura.
Carlos Eugenio Thompson Pinzón,

Non ha funzionato Sia la partizione che le cartelle sono ancora di sola lettura. L'unica differenza è che chmod e chown non falliscono nel segnalare un errore di sola lettura: semplicemente non funzionano.
Carlos Eugenio Thompson Pinzón,

2

Non sono del tutto sicuro, tuttavia, puoi provare questo per favore. Dopo aver montato l'unità, immettere il seguente comando sul terminale

sudo gksu nautilus

inserisci la tua password amministrativa e nella finestra grafica che si apre, dovresti essere in grado di fare clic sull'unità e modificare le autorizzazioni di lettura / scrittura.

Fammi sapere se funziona. È disponibile una guida per l'uso di nautilus con interfaccia grafica con privilegi di root.


Ciò consentirebbe l'accesso ai file e potrebbero essere copiati anche loro, ma le autorizzazioni di sola lettura potrebbero non essere modificate, poiché i filesystem non unix sono montati come di sola lettura ...
Wilf

1

Consiglierei di usare sudo chmod.666 ~ / Windows

https://help.ubuntu.com/community/FilePermissions


1
Non posso cambiare l'autorizzazione o il proprietario (anche con sudo). Rifiuta il comando dicendo che il sistema è di sola lettura. Nemmeno in /media/windows/quale sia l'intera partizione (e quale non sarebbe il comportamento previsto)
Carlos Eugenio Thompson Pinzón

Probabilmente sbaglio, ma a volte sudo non ha i permessi di root. Prova a eseguire sudo su quindi chmod
virtualxtc il

0

Il modo più semplice per montare Windows come lettura-scrittura è semplicemente riavviarlo o eseguire uno spegnimento completo. La partizione NTFS va in letargo quando si utilizza lo "spegnimento rapido". Questo principio è trattato in maggior dettaglio a questo link.

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.