Программирование

Как получить доступ к общим папкам VirtualBox в RedHat

Проблема «Permission denied» в общих папках VirtualBox решается добавлением пользователя в группу vboxsf и перезапуском сеанса. Доступ к файлам будет свободен.

VirtualBox shared folder permissions: I have a Windows host and a RedHat guest. I created a shared folder and mounted it at /media/sf_sharedFolder. Even after running chmod 777 and adding my user to the folder’s group, I still get Permission denied when accessing it as a normal user. How can I grant my user access to the shared folder?

The shared folder is owned by root and the vboxsf group, and only members of that group can read or write to it.
In fact, adding chmod 777 doesn’t change the group ownership, and adding your user to the folder’s group in the guest file‑system doesn’t help because the vboxsf group is the one that VirtualBox uses to control access.

Solution – add your normal user to the vboxsf group in the guest, then log out and back in (or reboot). If you prefer custom ownership, mount the folder with uid=/gid= options instead of relying on group membership.


## Содержание


Как работает система прав в VirtualBox

VirtualBox Guest Additions mounts shared folders with the vboxsf group.
When a guest is auto‑mounted, the files appear as:

root:vboxsf

Only members of vboxsf may read or write, regardless of the Unix permissions you set.
This behavior is documented by the VirtualBox manual and confirmed on multiple Q&A sites, e.g., Super User.


Типичные причины «Permission denied»

Причина Что происходит Как это исправить
Пользователь не в группе vboxsf Внутри гостя id показывает, что пользователь не принадлежит группе Добавить пользователя в группу
Группа не обновлена после входа После usermod -aG vboxsf пользователь остаётся в старой сессии Перезапустите сессию или систему
Гостевая ОС не имеет Guest Additions Монтирование не происходит автоматически Установите Guest Additions и включите автоподключение
Права на монтируемую точку не позволяют читать/писать Папка в госте может иметь drwxr-xr-x для root Измените права или монтируйте с uid=/gid=

Как добавить пользователя в группу vboxsf

  1. Логин как root (или с sudo):

    bash
    sudo usermod -aG vboxsf <имя_пользователя>
    
  2. Перезапуск сессии
    Выйдите из всех терминалов, завершите графическую сессию и войдите снова, либо просто перезагрузите систему:

    bash
    sudo reboot
    
  3. Проверка
    После входа выполните id <имя_пользователя> – должно быть vboxsf в списке групп.

Как отмечено в ответе на Stack Overflow, «добавьте себя в группу vboxsf внутри гостевого VM» – именно это решает проблему.
(Ссылка: Stack Overflow – VirtualBox shared folder permissions)


Проверка и привязка прав после входа в систему

bash
ls -ld /media/sf_sharedFolder
# обычно: drwxrwx--- 1 root vboxsf 4096 ...

Проверьте, что ваш пользователь имеет доступ:

bash
su - <имя_пользователя>
cd /media/sf_sharedFolder
touch testfile   # должно работать без ошибок

Если всё ещё «Permission denied», убедитесь, что Guest Additions установлен и включён автоподключение:

bash
sudo dnf install VirtualBox-Guest-Additions -y
sudo systemctl restart vboxadd-service

Альтернативный способ: указание uid/gid при монтировании

Если вы не хотите использовать группы, можно задать владельца и группу прямо при монтировании:

bash
sudo mount -t vboxsf -o rw,uid=$(id -u <user>),gid=$(id -g <user>) sharedFolder /media/sf_sharedFolder

Эта команда сделает вашего пользователя владельцем файлов в каталоге, и chmod будут работать как обычно.
Рекомендация из Ask Ubuntu: «sudo mount -t vboxsf folder share -o uid=1000,gid=1000» – замените 1000 на свои UID/GID.


Дополнительные настройки и рекомендации

  • Автоподключение: в VirtualBox Manager → Shared Folders → отметьте «Auto-mount».

  • Права на точку монтирования: иногда удобно задать chmod 755 /media/sf_sharedFolder после монтирования, чтобы все пользователи могли видеть каталог, но только группа могла писать.

  • Управление через /etc/fstab: добавьте строку, чтобы монтировать при загрузке:

    sharedFolder  /media/sf_sharedFolder  vboxsf  rw,uid=1000,gid=1000  0  0
    

Заключение

  • Главный шаг – добавить пользователя в группу vboxsf и перезапустить сессию.
  • После этого пользователь получает доступ к каталогу, как и любые другие пользователи группы.
  • Если нужны индивидуальные права, используйте параметры uid= и gid= при монтировании.
  • Убедитесь, что Guest Additions установлены и автоподключение включено, иначе монтирование может не происходить.

Источники

  1. Stack Overflow – VirtualBox shared folder permissions
  2. Super User – Permission denied when accessing VirtualBox shared folder
  3. Ask Ubuntu – VirtualBox shared folders are owned by root in Lubuntu guest
  4. VirtualBox Manual – Ch. 4.3.2 – Access to auto‑mounted shared folders is only granted to the user group vboxsf
Авторы
Проверено модерацией
Модерация