Предыстория: я пытаюсь смонтировать диск USB только для чтения, но моя установка Ubuntu монтирует его rw, когда я подключаю диск.
Я могу размонтировать диск вручную и перемонтировать его вручную только для чтения с помощью команд umount и mount, но это не интересно. Может кто-нибудь дать мне быстрое объяснение того, как именно монтируются usb автоматически в типичной системе linux (udev? Историческая справка тоже хороша) и, возможно, как я могу настроить этот процесс, чтобы позволить мне читать диск ro?
Благодарю.
Редактировать: я использую GNOME, если это вообще помогает.
Edit2: в спешке я забыл предоставить немного больше информации. Вот как выглядит диск из вывода 'mount'.
/dev/sdb1 on /media/LaCie type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
Edit3: это также может быть относительным по-своему. В выводе mount у меня также есть следующее:
gvfs-fuse-daemon on /home/fletcher/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=fletcher)
Я думал, что это может быть связано с вышеупомянутым креплением fuseblk, но я обнаружил, что это так.
Gvfs - это виртуальная файловая система Gnome. Это виртуальная файловая система, созданная поверх уже существующего ядра VFS. gvfs использует библиотеку GIO (которая является API-интерфейсом VFS) для доступа к файлам, устройствам, удаленным сетевым расположениям и т. д. В этом случае выше ('gvfs-fuse-daemon') gvfs использует FUSE для монтирования файлов / расположений / устройств. По сути, это то, что происходит, когда вы монтируете удаленное сетевое соединение в Nautilus. Он будет использовать FUSE для монтирования (внутри?) Каталога .gvfs, а затем будет связываться с уровнем виртуальной файловой системы gnome для связи с новым монтированием.
По сути, эта структура позволяет пользователю динамически монтировать новые локации и взаимодействовать с ними через nautilus.
Просто для справки: FUSE - это файловая система пользовательского пространства, она также позволяет пользователю запускать монтирование, даже если этот пользователь не является пользователем root)
Так, где это оставляет меня? Ну, диск LaCie монтируется с типом fuseblk. Это просто блочное устройство с предохранителем. Таким образом, какой-то демон автоматически обнаружил диск, когда он был подключен, а затем пошел вперед и запустил fuse для монтирования моего блочного устройства. Так что же это за демон и как он настроен (я думаю, это какая-то внутренняя вещь гнома) - это самый важный вопрос. Вторичный вопрос - как система автоматически обнаружила недавно вставленный USB-диск, но я думаю, что это немного в стороне и гораздо более низкий уровень здесь (читай: udev?).
Ссылки: