ZaLinux.ru

Что такое FUSE. Что такое файловая система fuseblk

FUSE (файловая система в пользовательском пространстве) — это простой интерфейс для программ пользовательского пространства для экспорта виртуальной файловой системы в ядро Linux. FUSE также стремится обеспечить безопасный метод для непривилегированных пользователей для создания и монтирования собственных реализаций файловой системы.

fusermount — это программа для монтирования и размонтирования файловых систем FUSE.

Примеры использования FUSE:

  • автоматическое монтирование флешек и внешних дисков при подключении к Linux
  • монтирование файловой системы Android при подключении к Linux
  • монтирование сетевой файловой системы SSHFS — обеспечивает доступ к файлам на удалённом компьютере по SSH

То есть FUSE позволяет выполнять монтирование без прав root.

Безопасность FUSE

В программе fusermount3 set-user-gid установлено на fuse. Это сделано для того, чтобы пользователи из группы fuse могли монтировать свои собственные реализации файловой системы. Однако должны быть некоторые ограничения, чтобы злоумышленник не делал неприятных вещей. В настоящее время эти ограничения:

  1. Пользователь может подключиться только к точке монтирования, для которой у него есть разрешение на запись.
  2. Точка монтирования не является sticky каталогом, который не принадлежит пользователю (как, например, /tmp).
  3. Никакой другой пользователь (включая root) не может получить доступ к содержимому смонтированной файловой системы.

Что такое файловая система fuseblk

При проверке файловых систем смонтированных дисков

findmnt --real

вы можете обнаружить файловую систему с именем «fuseblk».

Смотрите также «8 способов определить тип файловой системы в Linux (Ext2, Ext3 или Ext4, FAT32, NTFS)».

На скриншоте вы можете видеть, что у диска /dev/sdb4 тип файловой системы обозначен как «fuseblk». Но на самом деле это внешней диск с операционной системой Windows, то есть файловая система обозначена неточно. Дело в том, что данный диск смонтирован автоматически при подключении к Linux. Для монтирования использовалась FUSE и поэтому в качестве типа файловой системы указана fuseblk.

Как определить настоящую файловую систему если указана fuseblk

С помощью следующей команды вы можете просмотреть реальные файловые системы для всех дисков и разделов независимо от способа монтирования:

lsblk -no name,fstype

Теперь мы можем убедиться, что для раздела /dev/sdb4 настоящей файловой системой является «ntfs».

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

lsblk -no name,fstype /dev/sdb4

Как перемонтировать файловую систему fuseblk

Если вы хотите смонтировать диск самостоятельно, то с нужными вам опциями монтирования, то вам вначале необходимо отмонтировать его. Кстати, вы можете поменять поведение вашего дистрибутива и запретить ему автоматически монтировать диски. В современных дистрибутивах за автоматическое монтирование обычно отвечает графическое пользовательское окружение рабочего стола, то есть Cinnamon, GNOME, Xfce и так далее. Чтобы выполнить их настройку обратитесь к статье «Как отключить автоматическое открытие файлового менеджера после монтирования. Как отключить автоматическое монтирование дисков».

Для размонтирования диска, монтированного с помощью FUSE, можно использовать команду вида:

sudo fusermount -u /ПУТЬ/ДО/ТОЧКИ/МОНТИРОВАНИЯ

К примеру, у меня диск автоматически смонтирован в папку /run/media/mial/CA966DBC966DA9A1, тогда команда следующая:

sudo fusermount -u /run/media/mial/CA966DBC966DA9A1

Обратите внимание, что хотя FUSE и должна работать без прав суперпользователя, следующая команда без sudo является неправильной:

fusermount -u /run/media/mial/CA966DBC966DA9A1

Она вызовет ошибку:

fusermount: entry for /run/media/mial/CA966DBC966DA9A1 not found in /etc/mtab

То есть размонтирование в любом случае нужно выполнять с sudo. Смотрите также «Что такое sudo».

Для монтирования вручную достаточно выполнить команды вида:

mkdir /ТОЧКА/МОНТИРОВАНИЯ
sudo mount /dev/ДИСК /ТОЧКА/МОНТИРОВАНИЯ

К примеру, создаём директорию /tmp/disk в качестве точки монтирования:

mkdir /tmp/disk

Монтируем в неё диск /dev/sdb4:

sudo mount /dev/sdb4 /tmp/disk

Проверяем содержимое смонтированного диска (раздела):

ls -l /tmp/disk

Смотрим свойства монтирования:

findmnt --real

Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *