Best practice per il montaggio di una partizione Windows


13

Sto eseguendo un doppio avvio di Windows e Debian sul mio laptop. Uso principalmente Linux ma di tanto in tanto devo accedere ai miei file nella mia partizione di Windows. La mia partizione di Windows è montata come segue all'avvio.

>cat /etc/fstab |grep Win7
LABEL=Windows7_OS /mnt/Win7 auto nosuid,nodev,nofail,x-gvfs-show 0 0

Fondamentalmente ogni file nella partizione di Windows è di proprietà di root: root e ha un'autorizzazione 777. Quindi ogni volta che mv un file sulla mia partizione di lavoro (Linux), ho un file 777 sotto la mia partizione, di mia proprietà (mentre cp nel terminale fornirà un file 755 ma se fatto tramite gnome salverà il file con un permesso 777) .

È questa la migliore pratica per montare una partizione? O dovrei montarlo in modo tale che invece di root, sono il proprietario di tutti i file / directory e in qualche modo essere in grado di impostare tutte le directory su 755 e i file su 644 quando il montaggio avviene all'avvio? In tal caso, come si può fare?


2
piccolo bocconcino (uooc ...):grep Win7 /etc/fstab
Olivier Dulac il

Risposte:


17

È possibile utilizzare fmaske dmaskmontare le opzioni * per modificare la mappatura delle autorizzazioni su un file system ntfs.

Per far apparire i file rw-r--r--(644) e utilizzare le directory rwxr-xr-x(755) fmask=0133,dmask=0022. È possibile combinare questo con uid=e le gid=opzioni per selezionare il proprietario e il gruppo del file se è necessario l'accesso in scrittura per l'utente.

* fmaske dmasksembra funzionare anche per il driver del kernel (sola lettura), anche se non sono documentati nella pagina man di mount . Sono opzioni documentate per ntfs-3g.


La mia umask predefinita è già 0022. Ma quando mv un file usando il terminale da Win7 a casa mia il file è ancora 777.
albertma789

2
La maschera e la maschera nella risposta sono opzioni di montaggio . Quando li cambi in fstab e rimontaggi il filesystem, i file / le directory nel tuo filesystem di Windows appariranno con permessi 644/755 invece di 777/777.
sebasth,

5
LABEL=Windows7_OS /media/Win7 auto nosuid,nodev,nofail,x-gvfs-show,x-gvfs-name=Windows,uid=1000,gid=1000,fmask=0133,dmask=0022 0 0funziona come un fascino. Esattamente quello di cui avevo bisogno!
albertma789,

È possibile impostare tali valori predefiniti per filesystem specifici (FAT32 / NTFS) anziché per unità specifiche? Sarebbe bello avere questo disponibile quando si utilizzano unità flash e altri supporti rimovibili.
JAB


7

Prima di tutto questo non è come dovresti usare / mnt. Questo è per eseguire attività amministrative su un file system temporaneamente non ad ogni avvio del sistema.

Poiché la partizione di Windows non fa parte del funzionamento del sistema Linux, ha senso montarlo su / media. Potresti anche considerare di montarlo su root / as / Windows per evitare confusione su / media per supporti rimovibili.

Per quanto riguarda le autorizzazioni userei un gruppo chiamato Windows

groupadd -g 1001 Windows

e assegnagli le autorizzazioni che desideri con opzioni come:

gid=1001,umask=022

Se si desidera utilizzare cp e mantenere le autorizzazioni tra file system separati, utilizzare cp con il flag -p o -a.


La mia umask predefinita è già 0022. Ma quando mv un file usando il terminale da Win7 a casa mia il file è ancora 777. Montare su / media invece è un ottimo suggerimento!
albertma789,

Quando si copiano file tra file system, vengono utilizzate le autorizzazioni predefinite per quel file system a meno che non vengano conservate. Fare riferimento alla mia risposta aggiornata.
jdwolf,

Anche se sono d'accordo /mntnon è ottimale per il punto di montaggio, /mediaè per supporti rimovibili (ad esempio, DVD e unità USB). Non sono sicuro che ci sia una buona risposta in cui dovrebbe avvenire il montaggio: unix.stackexchange.com/questions/29134/…
StrongBad

@StrongBad Il Filesystem Hierarchy Standard non è così standard soprattutto nelle directory rispetto a quelle vecchie di Unix. Ad esempio, FHS 2.3 non riflette le pratiche correnti di / run. Dai un'occhiata a FHS 3.0 refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s11.html che indica ulteriormente di non utilizzare / mnt per questo, ma il suo razionale è molto più chiaro di "tecnicamente Windows non è un supporto rimovibile" Vale anche la pena notare che non c'è niente di sbagliato nel montare la propria directory su / root.
jdwolf,

4

Utilizzando le opzioni di montaggio uid, gid, fmasked dmaskè possibile effettuare l'intero file system NTFS accessibili al tuo account utente normale e / o di un gruppo. Ma questo è tutto o niente: per quanto riguarda il filesystem NTFS è come correre come amministratore completo per tutto il tempo in Windows, o come fare tutto come root in Linux. Il ntfs-3gdriver del filesystem NTFS può fare di meglio.

Se stai usando ntfs-3g, puoi usare il ntfsusermapcomando per creare un file di mappatura utente per i tuoi filesystem NTFS. Il comando ti aiuterà a identificare i nomi utente di Windows e i corrispondenti SID di Windows e ad associarli agli ID utente e di gruppo di Linux.

In questo modo, è possibile associare il SID del proprio account utente di Windows al proprio UID Linux. In questo modo, una volta montato il filesystem NTFS con il file di mappatura utente in atto su <NTFS filesystem root>/.NTFS-3G/UserMapping, è possibile utilizzare il proprio account utente Linux normale per accedere al filesystem NTFS esattamente come sarebbe in grado di accedere al proprio account utente Windows. Per le cose di cui avresti bisogno delle autorizzazioni di amministratore in Windows, avrai comunque bisogno di root in Linux.

In questo modo, avrai un comodo accesso ai tuoi file sulla partizione di Windows, ma sei comunque protetto dal rovinare la tua \Windowsdirectory con un comando errato, a meno che tu non stia eseguendo come root.

È inoltre possibile utilizzare l' windows_namesopzione mount sulle partizioni NTFS per impedire la creazione accidentale di file con nomi a cui Windows non può accedere.

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.