Найкраща практика для монтажу розділу Windows


13

Я на своєму ноутбуці запускаю подвійне завантаження Windows та Debian. Я використовую Linux в основному, але час від часу мені потрібно отримувати доступ до своїх файлів у своєму розділі Windows. Мій розділ Windows монтується наступним чином при запуску.

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

В основному кожен файл в розділі Windows належить root: root і має дозвіл 777. Тоді щоразу, коли я вмикаю файл на свій робочий (Linux) розділ, у мене є розділ 777 під моїм розділом, який належить мені (тоді як cp в терміналі видасть файл 755, але якщо це буде зроблено через gnome, збереже файл з дозволом 777) .

Це найкраща практика для монтажу перегородки? Або я можу встановити його таким чином, що замість root я є власником усіх файлів / dirs і якимось чином можу встановити всі dirs на 755, а файли на 644, коли кріплення відбувається під час завантаження? Якщо так, то як це зробити?


2
другорядний лайдак (uooc ...):grep Win7 /etc/fstab
Олів'є Дулак

Відповіді:


17

Ви можете використовувати fmaskта dmaskзмонтувати параметри *, щоб змінити відображення дозволів у файловій системі ntfs.

Щоб відобразити файли rw-r--r--(644) та каталоги rwxr-xr-x(755), використовуйте fmask=0133,dmask=0022. Ви можете поєднати це з uid=і gid=опціями для вибору власника файлу і групи , якщо потрібен доступ на запис для вашого користувача.

* fmaskі, dmaskздається, працює і для драйвера ядра (лише для читання), навіть якщо вони не задокументовані на сторінці man man . Вони задокументовані варіанти для ntfs-3g.


Мій umask за замовчуванням вже 0022. Але коли я mv-файл, використовуючи термінал від Win7 до мого дому, файл все ще залишається 777.
albertma789

2
Маска та маска у відповіді - це параметри кріплення . Коли ви поміняєте їх у fstab та повторно встановите файлову систему, то файли / каталоги у вашій файловій системі Windows з’являться із дозволами 644/755 замість 777/777.
субота

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 0працює як шарм. Саме те, що мені було потрібно!
albertma789

Чи можливо встановити такі за замовчуванням для конкретних файлових систем (FAT32 / NTFS), а не конкретні диски? Було б добре, щоб це було доступно при використанні флеш-накопичувачів та інших знімних носіїв.
JAB


7

Перш за все це не те, як слід використовувати / mnt. Тобто для виконання адміністративних завдань у файловій системі тимчасово не кожне завантаження системи.

Оскільки розділ Windows не є частиною роботи системи Linux, має сенс монтувати його під / медіа. Ви також можете розглянути можливість його встановлення під root / як / Windows, щоб уникнути плутанини щодо / медіа для змінних носіїв.

Щодо дозволів, я б використовував групу під назвою Windows

groupadd -g 1001 Windows

і надайте йому потрібні дозволи з такими параметрами:

gid=1001,umask=022

Якщо ви хочете використовувати cp та підтримувати дозволи між окремими файловими системами, використовуйте cp із прапором -p або -a.


Мій umask за замовчуванням вже 0022. Але коли я mv-файл, використовуючи термінал від Win7 до мого будинку, цей файл все ще залишається 777. Замість цього встановити на / медіа - чудова пропозиція!
albertma789

При копіюванні файлів між файловими системами використовуються типові дозволи для цієї файлової системи, якщо ви не збережете їх. Зверніться до моєї оновленої відповіді.
jdwolf

Хоча я згоден, /mntце не оптимально для точки монтажу, /mediaце для знімних носіїв (наприклад, DVD-дисків та USB-накопичувачів). Я не впевнений, що є хороша відповідь, де має відбуватися кріплення
StrongBad

@StrongBad Ієрархічний стандарт файлової системи не настільки стандартний, особливо для каталогів із старих Unix. Наприклад, FHS 2.3 не відображає поточну практику / run. Подивіться на FHS 3.0 refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s11.html, що додатково вказує на те, що не використовувати / mnt для цього, але його раціональніше набагато зрозуміліше, ніж "технічно вікна не є знімними носіями" Також це варто зазначити що немає нічого поганого в монтажі власного каталогу на / root.
jdwolf

4

Використовуючи параметри монтування uid, gid, fmaskі dmaskви можете зробити весь NTFS файлової системи доступним для вашої звичайної облікового запису користувача і / або однієї групи. Але це все або нічого: що стосується файлової системи NTFS, це як би працювати повноцінним адміністратором весь час у Windows, або як робити все як root у Linux. ntfs-3gДрайвер NTFS файлової системи може зробити краще , ніж це.

Якщо ви використовуєте ntfs-3g, ви можете скористатися ntfsusermapкомандою для створення файлу відображення користувача для вашої файлової системи NTFS. Команда допоможе вам визначити імена користувачів Windows та відповідні їм SID Windows та приєднати їх до ідентифікаторів користувачів та груп Linux.

Таким чином, ви можете пов’язати SID облікового запису користувача з вашим UID Linux. Таким чином, як тільки ви змонтуєте файлову систему NTFS з файлом відображення користувача на місці <NTFS filesystem root>/.NTFS-3G/UserMapping, ви можете використовувати свій звичайний обліковий запис користувача Linux для доступу до файлової системи NTFS саме так, як до вашого облікового запису користувача Windows. Якщо вам потрібні дозволи адміністратора в Windows, вам все одно знадобиться root у Linux.

Таким чином, ви отримаєте зручний доступ до своїх файлів на розділі Windows, але все ще захищені від забруднення вашого \Windowsкаталогу командою помилково вводити, якщо ви не працюєте як root.

Ви також можете скористатись windows_namesопцією кріплення на розділах NTFS, щоб запобігти випадковому створенню файлів з іменами, до яких Windows не може отримати доступ.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.