32

When running a vagrant instance the project folder is mounted on /vagrant automatically. However is mounted with the following permissions

# ll -d /vagrant
drwx------ 1 vagrant vagrant 612 Jun 13 14:41 /vagrant/

I need it to be mounted with (at least) 0770 but I can't find how. If I run the mount command I see this output

# mount
v-root on /vagrant type vboxsf (uid=1000,gid=100,rw)

I've tried both chmod and chown/chgrp, but they won't work on that mounted folder so my apache user can't access that folder. I read in Vagrant manual that I can change owner and group but it doesn't mention nothing about permission.

How can I do that?

Another option could be switch to NFS but in this way it won't work on Windows platforms and it need to edit local /etc/exports file and it would require root privileges and also it's pretty annoying, so I'd prefer to not make this change.

Fabio
  • 1,299

1 Answers1

53

Solved with this line in my Vagantfile, for v1.3.2 and later:

config.vm.synced_folder ".", "/vagrant", :mount_options => ["dmode=777","fmode=666"]

Syntax before 1.2 version:

config.vm.share_folder("v-root", "/vagrant", ".", :extra => 'dmode=770,fmode=770')

Credits: http://ubuntuforums.org/showthread.php?t=1434884

For Vagrant 1.2 the right syntax was:

config.vm.synced_folder ".", "/vagrant", :extra => "dmode=777,fmode=666"

Credits: Aal

For v1.3.2 and later the 'extra' flag on synced folder was changed to 'mount_options'. The options need to be in an array with each option as a separate string ( as opposed to both options being in a single string in previous versions )

Fabio
  • 1,299