Как я могу автоматически смонтировать внутренний жесткий диск NTFS в зашифрованный / домашний раздел с помощью fstab?

679
mixtrak

Резюме: Я хотел бы автоматически смонтировать внутренний жесткий диск в своем домашнем каталоге пользователя fstab, но не могу этого сделать.

Я настраиваю новую машину разработки Thinkpad с двойной загрузкой Windows 10 и Ubuntu 17.10 на (внутреннем) SSD. Обе операционные системы работают нормально.

Мои личные данные хранятся на внутреннем жестком диске в формате NTFS, которым я хотел бы поделиться между операционными системами. Без настройки функции автоматического монтирования / чтения / записи ожидаются при загрузке на рабочие столы Windows и Ubuntu. В Ubuntu диск доступен через значок dekstop или через «Другие местоположения» в приложении «Файлы».

Тем не менее, я хотел бы автоматически смонтировать диск под /home/<username>/data. Я решил использовать fstabдля достижения этой цели.

Во-первых, я нашел UUID диска, используя sudo blkid. Привод монтируется sdaи содержит два раздела, которые blkidописываются следующим образом:

/dev/sda1: PARTLABEL="Microsoft reserved partition" PARTUUID="32d4b204-4781-487b-baf2-9f49aca22b7e" /dev/sda2: LABEL="Data" UUID="D0AA5898AA587CC2" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="5a989f6c-fab3-44d8-ab26-6dea47454de4" 

Я не знаю, какова цель или значение sda1раздела, но меня интересует только sda2.

Хотя это однопользовательский компьютер, я все же хотел бы настроить ограничительные параметры и разрешения. Соответственно, я добавляю следующую строку /etc/fstab, заканчивающуюся пустым переводом строки:

UUID=D0AA5898AA587CC2 /home/<username>/data ntfs uid=<username>,gid=<username>,owner,umask=077,dmask=077,fmask=077,nosuid,dev,windows_names,auto 0 2 

Я решил быть многословным и явным в своих вариантах, а не использовать defaults, потому что это должно облегчить понимание и подправить, когда я вернусь позже.

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

  • uid: устанавливает меня как пользователя-владельца
  • gid: устанавливает мою группу (содержащую меня в качестве единственного участника) в качестве группы-владельца
  • владелец: позволяет только владельцу (мне) смонтировать диск
  • * mask: устанавливает разрешения по умолчанию для файлов и папок, которые только владелец (я) может читать / писать / выполнять, а все остальные не имеют разрешений
  • nosuid: скрипты и исполняемые файлы запускаются с разрешениями текущего пользователя, а не владельца файла (более безопасный)
  • dev: from man mount: «Интерпретировать символ или блокировать специальные устройства в файловой системе». Это казалось бы необходимым для взаимодействия с дисками.
  • windows_names: защищает меня от написания ломающих Windows имен для обеспечения совместимости между ОС.
  • auto: автоматически монтировать файловую систему при загрузке и с помощью sudo mount -aкоманды.

По этой схеме не только /home/<username>/dataпусто, но, хотя накопитель по-прежнему отображается в приложении «Файлы», он тоже теперь пуст.

Когда я запускаю mount, соответствующий раздел сообщается следующим образом:

/dev/sda2 on /home/<username>/data type fuseblk (rw,nosuid,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096) 

Таким образом, похоже, что диск все еще принадлежит root ( user_id=0).

Я перепробовал много, много вариантов - включая гораздо более разрешающие варианты, но безрезультатно. Единственное изменение - если я вместо этого ссылаюсь PARTUUIDна sda2раздел, то в приложении «Файлы» появляется дополнительный «диск», называемый «данные» (обратите внимание на строчную букву «d»). Однако этот «диск» доступен только пользователю root.

Что мне нужно изменить, чтобы заставить это работать? Во время установки Ubuntu я решил создать отдельный зашифрованный /homeраздел - может ли это помешать автоматическому монтированию при загрузке, поскольку, вероятно, он не расшифровывается до тех пор, пока я не войду в систему как <username>?

РЕДАКТИРОВАТЬ: монтирование в незашифрованном каталоге / разделе

Я попытался смонтировать жесткий диск в незашифрованном разделе / ​​каталоге, для которого <username>есть rwxправа доступа ( /tmp/data), изменив fstabтак:

UUID=D0AA5898AA587CC2 /tmp/data ntfs permissions,uid=mixtrak,gid=mixtrak,owner,umask=077,dmask=077,fmask=077,nosuid,dev,windows_names,auto 0 2 

В результате файловая система, смонтированная там, действительно имеет соответствующих владельца, группу и разрешения (от ls -l):

drwx------ 1 <username> <username> 4096 Dec 25 07:38 data 

И я подтвердил, что содержимое доступно для чтения / записи <username>. Таким образом, шифрование разделов действительно является причиной моих проблем.

Тем не менее, я все еще не понимаю одну вещь. Когда я проверяю mount, раздел описывается так:

/dev/sda2 on /tmp/data type fuseblk (rw,nosuid,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096) 

Параметры, разрешения и владелец сильно отличаются от указанных параметров монтирования fstabи тех, которые отображаются в /tmp/dataточке монтирования при использовании ls -l. Это почему? Каковы последствия?

Последний вопрос: может ли этот вопрос стать более популярным в Unix & Linux Stack Exchange или, возможно, сбой сервера?

1
msgstr "зашифрованный раздел` / home` - это может мешать? " - это разумное предположение. Почему вы не протестируете его, подключив `/ dev / sda2` в другом месте, например` / mnt / data`? Если это удастся, просто сделайте символическую ссылку на него в вашем `/ home // `. Kamil Maciorowski 6 лет назад 1
Благодарю. Кажется, причина в шифровании, но, видимо, я также не совсем понимаю вывод `mount`. Обновили вопрос соответственно. mixtrak 6 лет назад 0

0 ответов на вопрос