1

Резюме: Я хотел бы автоматически смонтировать внутренний жесткий диск в моем домашнем каталоге пользователя с помощью 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 или, возможно, сбой сервера?

0