2

Я пытаюсь установить общую папку VirtualBox для монтирования любым пользователем, поэтому эту строку я помещаю в /etc/fstab:

# mint shared folder
mint /media/sf_mint vboxsf defaults,user,uid=1000,gid=999 0 0

Тем не менее, я получаю это сообщение об ошибке:

juanlu@minted ~ $ mount mint
Only root can mount shared folders from the host.
juanlu@minted ~ $ sudo !!
sudo mount mint
unknown mount option `user'
valid options:
  rw         mount read write (default)
  ro         mount read only
  uid       =<arg> default file owner user id
  gid       =<arg> default file owner group id
  ttl       =<arg> time to live for dentry
  iocharset =<arg> i/o charset (default utf8)
  convertcp =<arg> convert share name from given charset to utf8
  dmode     =<arg> mode of all directories
  fmode     =<arg> mode of all regular files
  umask     =<arg> umask of directories and regular files
  dmask     =<arg> umask of directories
  fmask     =<arg> umask of regular files

Если я удаляю опцию user , я вынужден использовать sudo но, по крайней мере, владелец точки монтирования назначен правильно. Что я здесь не так делаю?

Обратите внимание, что это может дублировать монтирование общей папки VBox от имени пользователя, но на самом деле я попробовал вариант, который должен был работать.

3 ответа3

1

Как любезно ответили на форумах поддержки пользователей VirtualBox, общие папки vbox на самом деле не являются устройствами (если бы они находились в каталоге /dev/), и поэтому опция "пользователь" среди других не применима. Следовательно, пользователи без прав администратора не могут вручную подключить общую папку.

Однако все еще есть возможность автоматически смонтировать vboxsf из /etc/rc.local и настроить параметры монтирования. Это похоже на автомонтирование, но позволяет установить правильные маски и разрешения для папки, как описано здесь. Однако обратите внимание, что эта страница является неполной в том смысле, что она указывает на страницу руководства по mount чтобы перечислить доступный список опций, но на самом деле некоторые из них не применимы, как видно выше.

1

Это похоже на ошибку в файле программы mount.vboxsf.c, который является частью VirtualBox Guest Additions для Linux, и я считаю, что вы не делаете ничего плохого.

Проверка на выполнение под учетной записью root выполняется сразу в main() в начале программы и до обработки параметров, то есть до обнаружения или обработки user параметра.

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

Вы должны сообщить об этой ошибке разработчикам VirtualBox.
Правильный форум - это VirtualBox на Linux-хостах (требуется авторизация).

0

Вам не обязательно нужна опция user в /etc/fstab чтобы позволить обычным пользователям монтировать файловую систему.

Другой вариант - настроить sudo чтобы разрешить это действие с запросом пароля исполняемого пользователя или без него.

От man sudoers:

Аутентификация и регистрация

Политика безопасности sudoers требует, чтобы большинство пользователей проходило аутентификацию, прежде чем они смогут использовать sudo. Пароль не требуется, если вызывающий пользователь является пользователем root, если целевой пользователь совпадает с вызывающим пользователем, или если политика отключила аутентификацию для пользователя или команды.

Tag_Spec

[...]

NOPASSWD и PASSWD

По умолчанию sudo требует, чтобы пользователь аутентифицировал себя перед выполнением команды. Это поведение можно изменить с помощью тега NOPASSWD. Как и Runas_Spec, тег NOPASSWD устанавливает значение по умолчанию для команд, которые следуют за ним в Cmnd_Spec_List. И наоборот, тег PASSWD можно использовать для изменения положения вещей. Например:

Рэй Рашмор = NOPASSWD: /bin /kill, /bin /ls, /usr /bin /lprm

позволит пользователю ray запускать /bin /kill, /bin /ls и /usr /bin /lprm в качестве пользователя root на машине rushmore без аутентификации.

Поэтому такая строка в /etc/sudoers позволит любому пользователю смонтировать указанную файловую систему без ввода пароля:

ALL ALL = NOPASSWD: /bin/mount mint

Тогда sudo mount mint должен работать как обычный пользователь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .