Лучшая практика монтирования раздела Windows

Лучшая практика монтирования раздела Windows

Я использую двойную загрузку 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 я был владельцем всех файлов/каталогов и каким-то образом мог установить все каталоги на 755, а файлы на 644, когда монтирование происходит при загрузке? Если да, то как это можно сделать?

решение1

Вы можете использовать fmaskи dmaskмонтировать параметры * для изменения сопоставления разрешений в файловой системе ntfs.

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

* fmaskи, dmaskпохоже, работают также и для драйвера ядра (только для чтения), даже если они не документированы встраница руководства по монтированию. Они естьзадокументированопараметры для ntfs-3g.

решение2

Во-первых, это не то, как следует использовать /mnt. Это для выполнения административных задач в файловой системе, временно не при каждой загрузке системы.

Поскольку раздел Windows не участвует в работе системы Linux, имеет смысл смонтировать его в /media. Вы также можете рассмотреть возможность монтирования его в root / как /Windows, чтобы избежать путаницы с тем, что /media предназначен для съемных носителей.

Что касается разрешений, я бы использовал группу под названием Windows.

groupadd -g 1001 Windows

и предоставьте ему необходимые разрешения с помощью таких опций, как:

gid=1001,umask=022

Если вы хотите использовать cp и сохранить разрешениямежду отдельными файловыми системамииспользуйте cp с флагом -p или -a.

решение3

Используя параметры монтирования uid, gid, fmaskи dmaskвы можете сделать всю файловую систему NTFS доступной для вашей обычной учетной записи пользователя и/или одной группы. Но это все или ничего: что касается файловой системы NTFS, это как работать как полный администратор все время в Windows или как делать все как root в Linux. Драйвер ntfs-3gфайловой системы NTFS может сделать лучше.

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

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

Таким образом, вы получите удобный доступ к файлам в разделе Windows, но при этом будете защищены от порчи каталога \Windowsиз-за неправильно введенной команды, если только вы не работаете как пользователь root.

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

Связанный контент