Vagabundo establece permisos compartidos predeterminados

32

Al ejecutar una instancia vagabunda, la carpeta del proyecto se monta /vagrantautomáticamente. Sin embargo, está montado con los siguientes permisos

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

Necesito que se monte con (al menos) 0770 pero no puedo encontrar cómo. Si ejecuto el comando mount veo esta salida

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

He intentado ambos chmody chown/chgrp, pero no funcionan en esa carpeta montada, por lo que mi usuario de apache no puede acceder a esa carpeta. Yo leí en el manual vagabundo que puedo cambiar de propietario y el grupo pero no menciona nada acerca de permiso.

¿Cómo puedo hacer eso?

Otra opción podría ser cambiar a NFS, pero de esta manera no funcionará en plataformas Windows y necesita editar el /etc/exportsarchivo local y requeriría privilegios de root y también es bastante molesto, por lo que preferiría no hacer este cambio.

Fabio
fuente

Respuestas:

53

Resuelto con esta línea en mi Vagantfile, para v1.3.2 y posterior:

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

Sintaxis antes de la versión 1.2:

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

Créditos: http://ubuntuforums.org/showthread.php?t=1434884

Para Vagrant 1.2, la sintaxis correcta era:

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

Créditos: Aal

Para v1.3.2 y posterior, el indicador 'extra' en la carpeta sincronizada se cambió a 'mount_options'. Las opciones deben estar en una matriz con cada opción como una cadena separada (en lugar de que ambas opciones estén en una sola cadena en versiones anteriores)

Fabio
fuente
66
No sé por qué, pero necesito una sintaxis ligeramente diferente:config.vm.synced_folder ".", "/vagrant", :extra => "dmode=777,fmode=666"
Paul Voss
1
+1 Aal y +1 Fabio: share_folder es pre-Vagrant v1.2, synced_folder es Vagrant v1.2 y posterior. Uso puphpet.com para generar mi manifiesto, pero tuve que hacer este ajuste en el archivo Vagrantfile.
therobyouknow
2
config.vm.synced_folder ".", "/ vagrant",: mount_options => ["dmode = 777, fmode = 666"] funcionó para mí en v1.3.2.
Nobu
3
En Vagrant 1.4.3, la sintaxis es un poco diferente una vez más. El siguiente cambio en Vagrantfile funcionó para mí: config.vm.synced_folder "# {folder ['source']}", "# {folder ['target']}", id: "# {folder ['id']} ", tipo: nfs, mount_options: [" dmode = 777 "," fmode = 666 "]
ChezFre