Назад | Перейти на главную страницу

Обходной путь для монтирования файловой системы в локальный каталог без повышенных прав в Linux

У меня есть файловая система 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 вариант будет принят. Не уверен, поскольку это не задокументировано на странице руководства, которая у меня есть, и я не пробовал.