Права доступу до папки для віртуальної скриньки


428

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

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

Що б я не робив, результат той самий:

/media/sf_sharedFolder/: Permission denied

Що я можу зробити? Як я можу отримати доступ до спільної папки зі своїм користувачем?

Відповіді:


853

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

Рішення 1

Виконати sudo adduser $USER vboxsfз терміналу.
(На Suse це sudo usermod --append --groups vboxsf $USER)

Щоб набути чинності, вам слід вийти з системи, а потім увійти, або вам може знадобитися перезавантажити.

Рішення 2

Відредагуйте файл /etc/group(вам потрібні привілеї root). Шукайте рядок vboxsf:x:999і додайте в кінці :yourusername- використовуйте це рішення, якщо у вас немає судо.

Щоб набути чинності, вам слід вийти з системи, а потім увійти, або вам може знадобитися перезавантажити.


97
FWIW, виходу та входу достатньо, щоб зміни набрали чинності.
3c71

12
Дякую, мені просто не вистачало частини для перезапуску.
Педро Рейс

5
FWIW, оскільки ви вже перебуваєте в рядку коментарів, не потрібно виходити з системи та повторно входити в систему. Просто від'єднайте частку та встановіть її знову. Хост VirtualBox> Пристрої> Спільна папка> миша над папкою, якою ви поділилися, щоб побачити інформацію підказки. Напр .: sudo mount -t vboxsf VboxSharedFolderName /media/VboxSharedFolderName(для цієї функції потрібні додатки для гостей).
вогонь

10
Я використовую Ubuntu 17.04 як гість, а Windows 10 як Host OS (обидві 64 бітні), і чомусь це не працює, поки я не перезавантажив гостя. Я використав рішення 2.
Олексій

14
Такий же результат, що і тут @Alex, використовуючи Win7 як хост та Ubuntu 17.04 як гість, додавання користувача до vboxsf та входу / виходу не було достатньо, для того, щоб дозволи набрали чинності, було необхідне повне перезавантаження віртуальної машини.
Х'ю Нолан

193

Спробуйте це (на гостьовій машині . Тобто ОС, що працює у віртуальному вікні):

sudo adduser your-user vboxsf

Тепер перезавантажте ОС, що працює у віртуальному вікні.


8
Дуже дякую!! Працювали просто чудово. Єдине, що потрібно додати, це те, що мені довелося перезапустити ОС (не намагався просто увійти, але це може бути достатньо)
Osmar

2
Навіть не потрібно виходити / входити, так - достатньо US USER. (для програми, звичайно, з нового оболонки, звичайно.)
tzp

2
Для того, що я хотів зробити, був потрібен перезапуск. Перезавантажити це просто простіше, якщо ви хочете, щоб воно було автоматичним і не ґрунтувалося на монтажі вручну.
Дж. Мартін

52

Це також працює

sudo usermod -aG <group> <user>

Потім перезапустіть vm


1
Не потрібно перезавантажувати vm, просто увійдіть і поверніться
ivandov

8
У моїй системі чомусь потрібен був перезапуск.
Тенсіг

1
Я другий @Tensigh. Хоча мій користувач відображався в / etc / group, він ніколи не з’являвся, ввівши groups. Довелося перезавантажувати ВМ.
Джеймс Шрум

38

Для справді ледачих (без набору тексту, лише абсолютно проста копія та вставка):

sudo usermod -aG vboxsf $USER

Вийдіть і поверніться, щоб зміни були активними.

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


2
Вихід не допомагає, мені доведеться його перезапустити.
CodyChan

Потрібно перезапустити, використовуючи вище у VirtualBox 6.1, використовуючи Ubutun 18.04.xLTS
crajun

10

Для VirtualBox (5.0.24) Хост = Mac (El Capitan) та Guest = RHEL (7.2)

Запустіть RHEL Guest VM та відкрийте термінал. Переконайтеся, що у вас встановлені Інструменти для розробників.

sudo yum groupinstall 'Developer Tools'

І пакет заголовків ядра, щоб скрипт додатків для гостей міг оновити ваше ядро.

sudo yum install kernel-devel*

Після того, як у вас є пререквізити час встановити додатки для гостей. Вибравши вибраний VM, перейдіть до меню VirtualBox і виберіть Пристрої -> Вставити зображення CD-гостей з додатками для гостей ...

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

Дозвольте кілька секунд, щоб відбулося кріплення, а сценарій встановлення розпочався. Після натискання кнопки «Запустити» у діалоговому вікні, що з’явилося у вашій гості.

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

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

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

У Менеджері віртуальних вікон Oracle виберіть свій VM і натисніть на елемент конфігурації "Спільні папки". У наступному діалоговому вікні натисніть на значок Додати папку праворуч від списку папок.

Потім у спливаючому вікні встановіть папку Хост, яку ви тільки що створили як Шлях папки, і дайте їй ім'я папки, яке буде використовуватися гостьовим візитом, також встановіть прапорець "Автомобільний монтаж".

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

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

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

-2

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

Або йдіть у стару школу:

% newgrp vboxsf

в будь-якій оболонці, яку ви хочете використовувати для доступу до папки. На щастя, newgrp шукає список груп для себе і не використовує кешовані значення. Вам потрібно буде вийти з системи та знову ввійти, щоб отримати доступ до папки із чогось іншого, крім оболонки.


-4

З мого особистого досвіду важко включити спільні папки у VirtualBox, але це можливо. У мене на хості Windows 10 встановлена ​​віртуальна машина гостя Debian Buster.

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

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.