42

It is my first time using virtualbox and ubuntu (14.04), I am on a host Windows 7 OS.

I am trying to mount a shared folder that has files I need to access both in the virtualbox and on the windows OS. I have successfully mounted them using the vboxsf from the Guest Additions installed.

To mount I used the command sudo mount -t vboxsf <dir name in vbox> <directory in linux for example I used sudo mount -t vboxsf Test /home/user/Test

I found several ways of mounting the directories automatically upon startup using for example the /etc/rc.local method (here) where you modify said file appending the command to it (without sudo). Or by using the fstab method (here). I prefer the rc.local method personally.

Once mounted it has permissions dr-xr-xr-x however once mounted the directory is of root ownership and chown user /home/user/Test has no effect. This means I cannot make or change files in it as a normal user.

In the VirtualBox the directory to be shared is not set as read-only.

Is there a way to automatically mount the shared folder and assign ownership to my non root user?

Fiztban
  • 829
  • 2
  • 7
  • 12

3 Answers3

65

If you have the guest additions installed, use the VirtualBox menu:

Devices > Shared Folders...

Add the path, name and enable "Auto-mount" and "Make permanent" options.

Finally add your user to the group with:

sudo usermod -G vboxsf -a myusername

Logout and back again or reboot the machine to complete the process (thanks @Fo).

Groups are stored in /etc/group, according to the usermod man page.

Eliah Kagan
  • 119,640
Katu
  • 3,663
24

Ah the curse of writing a question and then finding the answer immediately after.

I didn't use the full command suggested in this link

sudo mount -t vboxsf -o uid=$UID,gid=$GID share ~/host

So to add ownership and automatically mount in virtualbox via vboxsf in Ubuntu add to the /etc/rc.local file before the exit 0 line the command as follows:

mount -t vboxsf -o uid=1000,gid=1000 <folder name given in VirtualBox> /home/<user>/where/ever/you/want

Fiztban
  • 829
  • 2
  • 7
  • 12
3

Another alternative is to first configure the shared drives in Auto-mount mode like in the first part of @Katu's answer. This will allow to get the mount configurations of the shared drives by running mount. You'll get something like:

$ mount
...
vbox-shared-dir on /media/sf_vbox-shared-dir type vboxsf (rw,nodev,relatime,iocharset=utf8,uid=0,gid=998,dmode=0770,fmode=0770,tag=VBoxAutomounter)...

One can then use this information to update /etc/fstab/ with an additional line, replacing UID and GID accordingly and removing the tag option:

vbox-shared-dir   /media/sf_vbox-shared-dir  vboxsf rw,nodev,relatime,iocharset=utf8,uid=<UID>,gid=<GID>,dmode=0770,fmode=0770 0       0

After this you should be able to mount the volume automatically running the command:

# mount vbox-shared-dir

Then you just need to remove the Auto-mount option in the virtual box configuration because the volume gets mounted automatically during boot.

user7440787
  • 133
  • 5