У меня есть файловая система ext3, сидящая в файле, и я хотел бы смонтировать ее в локальный каталог без sudo или каких-либо повышенных разрешений. Зачем? Я создаю небольшую файловую систему для автоматизированного тестирования. Автоматические тесты выполняются на машинах, которые я не контролирую, поэтому есть некоторые препятствия для добавления монтирования в sudoers.
Вот как я создал файловую систему:
$ dd if=/dev/zero of=./50MB_partition count=102400
$ mkfs.ext3 -F 50MB_partition
Если бы у меня было разрешение, я бы теперь мог установить его так:
$ mkdir small_partition
$ sudo mount 50MB_partition ./small_partition
Кажется, что, поскольку я владею файловой системой и точкой монтирования, нет никакого риска безопасности, связанного с разрешением мне монтировать это. Я понимаю, что мешает мне вызвать mount без sudo; никаких объяснений там не требуется. Я хочу знать, есть ли обходной путь, который позволяет мне использовать мою файловую систему в целях тестирования?
Для mount требуется mount () [определенная в sys / mount.h], которая, в свою очередь, требует CAP_SYS_ADMIN, поэтому вы не можете использовать mount () без записи fstab или sudo.
может захотеть изучить fuse (файловая система в пространстве пользователя) [ http://fuse.sourceforge.net/ ]
Для этого есть возможность смонтировать, owner
, что также подразумевает другие варианты предотвращения нарушений безопасности.
owner
Разрешить обычному (то есть не root) пользователю монтировать файловую систему, если он является владельцем устройства. Этот вариант подразумевает варианты
nosuid
иnodev
(если не отменено последующими опциями, как в строке опцийowner,dev,suid
).
Проблема в том, что это требует, чтобы «устройство» принадлежало вам. В этом случае устройства нет. Устройство (/ dev / loopx) автоматически настраивается при монтировании, для чего требуются привилегии root, и тогда устройство не принадлежит вам.
Не знаю, как обойти это, если только вы не можете заставить пользователя root использовать losetup, а затем передать вам устройство цикла.
Также возможно, что об этом нужно упомянуть в /etc/fstab
для owner
вариант будет принят. Не уверен, поскольку это не задокументировано на странице руководства, которая у меня есть, и я не пробовал.