Общая папка VirtualBox позволяет с лёгкостью обмениваться файлами между виртуальной машиной и реальным компьютером.
Подробности о настройке общих папок вы найдёте в этом разделе.
По умолчанию содержимое Общей папки принадлежит пользователю root. Поэтому файлы в совместной папке обычным пользователям доступны только для чтения. Далее показано, как сделать общую папку VirtualBox доступной с правами чтения и записи для обычных пользователей.
1. Установите Гостевые дополнения VirtualBox.
Без гостевых дополнений общие папки не будут нормальной работать.
2. Добавьте Общую папку, если вы не сделали этого ранее.
3. Убедитесь, что в настройках Общей папки снята галочка «Только для чтения».
4. Добавьте своего пользователя в группу vboxsf:
sudo usermod -a -G vboxsf $USER
Чтобы изменения по добавлению в группу вступили в силу, перезагрузите компьютер.
По идее, этого должно быть достаточно чтобы общая папка стала доступной с правами записи. То есть суть в том, что папка монтируется так, что группой, которой она принадлежит, является vboxsf. Пользователи, входящие в эту группу, могут редактировать содержимое папки.
Но в некоторых дистрибутивах папка монтируется как принадлежащая пользователю root и принадлежащая группе root. В этом случае у обычных пользователей есть права на чтение содержимого общей папки, но они не могут редактировать файлы в ней, создавать новые файлы и удалять существующие.
Для файловой системы vboxsf есть опции монтирования uid= и gid=, вы можете попробовать их командами вида:
sudo mount -t vboxsf -o 'uid=1000,gid=141' ИМЯ_ШАРЫ /ПУТЬ/ДО/ТОЧКИ/МОНТИРОВАНИЯ
Или добавить в файл /etc/fstab строку вида:
ИМЯ_ШАРЫ /ПУТЬ/ДО/ТОЧКИ/МОНТИРОВАНИЯ vboxsf gid=141 0 0
Но оба эти способа в моём случае не сработали.
Я попытался поменять владельца папки и её содержимого с помощью chown:
echo $USER mial sudo chown -R mial /mnt/share
Но это тоже не сработало — владельцем данной папки остался по-прежнему root.
Связанная статья: Как пользоваться командой chown для смены владельца и группы файла в Linux
Сделать папку доступной для чтения помогло только изменение прав доступа к ней с помощью chmod.
Эта команда позволит создавать и изменять новые файлы и директории в общей папке:
sudo chmod 777 /ПУТЬ/ДО/ТОЧКИ/МОНТИРОВАНИЯ
Эта команда позволит изменять уже существующие файлы и директории в совместной папке:
sudo chmod -R 777 /ПУТЬ/ДО/ТОЧКИ/МОНТИРОВАНИЯ/*
Связанная статья: Команда chmod: как поменять права доступа к файлам и директориям
Заключение
Обратите внимание, что изменение прав доступа к файлам меняет их не только для виртуального компьютера, но и для реального тоже! Поэтому описанный выше метод нельзя считать идеальным. Если у вас есть мысли, как заставить общую папку монтироваться с группой vboxsf, то пишите в комментариях!
Связанные статьи:
- Ошибка «/sbin/mount.vboxsf: mounting failed with the error: No such file or directory» (РЕШЕНО) (100%)
- Решение ошибки VERR_VD_IMAGE_READ_ONLY (52.3%)
- Ошибка «Kernel driver not installed (rc=-1908)» в VirtualBox (РЕШЕНО) (52.3%)
- Ошибка в VirtualBox «Failed to load R0 module» (РЕШЕНО) (52.3%)
- Гостевая машина VirtualBox не загружается если выбран тип подключения «Сетевой мост» (РЕШЕНО) (52.3%)
- Как установить гостевые дополнения VirtualBox (Guest Additions) в Linux LMDE (RANDOM - 50%)