Разрешения для общей папки Virtualbox

430

Я использую Windows и Virtualbox с RedHat, проще говоря: я создал общую папку, чтобы я мог использовать Eclipse в моей ОС Windows и провести некоторое тестирование в Linux.

Тем не менее, я не могу получить доступ к общей папке с моим пользователем, я вошел в систему с правами root chmod 777и даже переместил моего пользователя в группу папки.

Что бы я ни делал, результат один и тот же:

/media/sf_sharedFolder/: Permission denied

Что я могу сделать? Как я могу получить доступ к общей папке с моим пользователем?

безгрешный
источник

Ответы:

855

Добавьте себя в vboxsfгруппу в гостевой виртуальной машине.

Решение 1

Беги sudo adduser $USER vboxsfот терминала.
(На Suse это sudo usermod --append --groups vboxsf $USER)

Для вступления в силу вы должны выйти из системы, а затем войти в систему, или вам может потребоваться перезагрузка.

Решение 2

Отредактируйте файл /etc/group(вам потребуются права суперпользователя). Ищите строку vboxsf:x:999и добавляйте в конце :yourusername- используйте это решение, если у вас нет sudo.

Для вступления в силу вы должны выйти из системы, а затем войти в систему, или вам может потребоваться перезагрузка.

Constantin
источник
97
FWIW, достаточно выйти из системы и войти, чтобы изменения вступили в силу.
3c71
12
Спасибо, мне просто не хватало части перезагрузки.
Педро Рейс
5
FWIW, так как вы уже находитесь в строке комментариев, не нужно выходить из системы и повторно входить в систему. Просто размонтируйте общий ресурс и установите его снова. Хост VirtualBox> Устройства> Общая папка> наведите курсор мыши на папку, к которой вы открыли общий доступ, чтобы увидеть информацию о всплывающей подсказке. Например: sudo mount -t vboxsf VboxSharedFolderName /media/VboxSharedFolderName(эта функция требует гостевых дополнений).
firepol
10
Я использую Ubuntu 17.04 в качестве гостя и Windows 10 в качестве хост-ОС (обе 64-битные), и по какой-то причине он не работал, пока я не перезагрузил гостя. Я использовал Решение 2.
Алекс
14
Результат тот же, что и у @Alex: использование Win7 в качестве хоста и Ubuntu 17.04 в качестве гостя, добавление пользователя в vboxsf и вход / выход из системы было недостаточно, для того чтобы разрешения вступили в силу, была необходима полная перезагрузка виртуальной машины.
Хью Нолан,
193

Попробуйте это (на гостевой машине . То есть ОС, запущенная в виртуальной коробке):

sudo adduser your-user vboxsf

Теперь перезагрузите ОС, работающую в виртуальной коробке.

aflorezd
источник
8
Большое спасибо!! Работало просто отлично. Единственное, что нужно добавить, это то, что мне пришлось перезагружать ОС (не пытался просто выйти из системы, но этого могло быть достаточно)
Osmar
2
Нет даже необходимости выходить из системы, достаточно su - $ USER. (для программ, запускаемых из новой оболочки, конечно.)
tzp
2
Для того, что я хотел сделать, потребовался перезапуск. Просто перезагрузить его проще, если вы хотите, чтобы он был автоматическим, а не основанным на монтировании вручную.
Дж. Мартин
52

Это тоже работает

sudo usermod -aG <group> <user>

Затем перезагрузите VM

GEverding
источник
1
Не нужно перезагружать
виртуальную
8
В моей системе перезагрузка была необходима по некоторым причинам.
Тенси
1
Я второй @ Тенси. Хотя мой пользователь отображался в / etc / group, он никогда не появлялся при вводе groups. Мне пришлось перезагрузить ВМ.
Джеймс Шрум
38

Для по-настоящему ленивых (не печатать, а просто копировать и вставлять):

sudo usermod -aG vboxsf $USER

Выйдите из системы и войдите в нее, чтобы изменения вступили в силу.

Я знаю, что это решение "я тоже", но я действительно ленив и не нашел другого решения, которое могло бы удовлетворить мою врожденную апатию ... :)

ISparkes
источник
2
Выйти не помогает, я должен перезагрузить его.
CodyChan
Требуется перезагрузка с использованием вышеупомянутого в VirtualBox 6.1 с использованием Ubutun 18.04.xLTS
crajun
10

Для VirtualBox (5.0.24) Host = Mac (El Capitan) и Guest = RHEL (7.2)

Запустите гостевую виртуальную машину RHEL и откройте терминал. Убедитесь, что у вас установлены инструменты разработчика.

sudo yum groupinstall 'Developer Tools'

И пакет заголовков ядра, чтобы скрипт Guest Additions мог обновить ваше ядро.

sudo yum install kernel-devel*

Как только у вас есть необходимые условия, вы можете установить гостевые дополнения. С выбранной вами работающей виртуальной машиной перейдите в меню VirtualBox и выберите Устройство -> Вставить Гость дополнение CD изображения ...

введите описание изображения здесь

Подождите несколько секунд, пока произойдет монтирование и стартует скрипт установки. После того, как они нажали кнопку «Выполнить» в диалоговом окне, которое появилось в вашей гостевой виртуальной машине.

После завершения сценария щелкните правой кнопкой мыши значок компакт-диска на рабочем столе и выберите «Извлечь». Затем выключите гостевую виртуальную машину.

Создайте общую папку в вашей хост-системе с помощью терминала, я обычно помещаю ее в папку «Документы» и проверяю, что ваш пользователь может получить к ней доступ.

sudo mkdir ~/Documents/RhelShared
sudo chmod 755 <user> ~/Documents/RhelShared

В Oracle VM Virtual Box Manager выберите свою виртуальную машину и затем щелкните элемент конфигурации «Общие папки». В следующем диалоговом окне щелкните значок «Добавить папку» справа от списка папок.

Затем во всплывающем окне выберите папку хоста, которую вы только что создали в качестве пути к папке, и дайте ей имя папки, которое будет использоваться гостевой виртуальной машиной, а также установите флажок «Автоматическое монтирование».

введите описание изображения здесь

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

ps aux | grep VirtualBoxVM

Затем, согласно нескольким предыдущим ответам в терминале на гостевой виртуальной машине, добавьте своего пользователя в группу vboxsf.

sudo usermod -a -G vboxsf <user>

Выйдите и снова, чтобы получить изменения.

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

ТСА
источник
2

Чтобы уточнить последний пост:

Команда VBoxManage:

VBoxManage setextradata <VM_NAME> VBoxInternal2/SharedFoldersEnableSymlinksCreate/<SHARE_NAME> 1
Ян Оуэнс
источник
1

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

  1. Завершите работу виртуальной машины.
  2. Запишите имя вашей машины на Machine > Settings > General > Name
  3. Запишите имя вашей общей папки в «Устройство> Настройки> Общие папки»
  4. Найдите свой корневой каталог VirtualBox и выполните следующую команду. VBoxManage setextradata "" VBoxInternal2 / SharedFoldersEnableSymlinksCreate / 1
  5. Запустите виртуальную машину, и в общей папке теперь будут разрешены символические ссылки.
Энди Дженкинс
источник
1
sudo adduser xxxxxxx vboxsf

где xxxxxx - это имя вашей учетной записи. Выйдите из системы и войдите в Ubuntu.

Девеш Шарма
источник
Или просто "sudo adduser $ USER vboxsf" и пусть имя пользователя будет автоматически считано из системы
Kaan Oğuzhan
-2

После добавления пользователя в группу vboxsf вам может потребоваться полностью выйти из gnome / xfce / ??? сессии, потому что кто-то давно решил, что групповая принадлежность должна быть кэширована при первом входе в оконную систему.

Или иди в старую школу

% newgrp vboxsf

в любой оболочке, которую вы хотите использовать для доступа к папке. К счастью, newgrp сам ищет список групп и не использует кэшированные значения. Вам все равно нужно будет выйти и снова войти, чтобы получить доступ к папке из чего-то другого, кроме оболочки.

Дон кристенсен
источник
-4

По моему личному опыту, трудно включить общие папки в VirtualBox, но это возможно. На моем хосте Windows 10 установлена ​​гостевая виртуальная машина Debian Buster.

Я не знаю точно, что это сделал, но я помню, что пошел к защитнику Windows, моему антивирусу, чтобы узнать, распознают ли они VirtualBox как программу, а не как вирус. После этого я нажимаю правую кнопку мыши на файле документа и разрешаю открыть доступ к папке, и я нажимаю некоторые кнопки там и соглашаюсь поделиться с группами и с моим пользователем в Windows 10.

Кроме того, я нашел веб-страницу Windows о чем-то похожем на виртуальные машины, которые я плохо помню, но это привело меня к панели, и мне пришлось изменить три вещи, дважды щелкнув, чтобы при обновлении Windows она распознавала мою виртуальную машину. Кроме того, в muy debian в терминале, используя некоторые командные строки, muy VirtualBox распознал моего пользователя, предоставляющего разрешения, я основывался на некоторой информации на форумах Ubuntu. Я положил все, что я помню.

работник
источник