Vagrant définit les autorisations de partage par défaut

32

Lors de l'exécution d'une instance vagrant, le dossier du projet est monté /vagrantautomatiquement. Cependant est monté avec les autorisations suivantes

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

J'ai besoin qu'il soit monté avec (au moins) 0770 mais je ne trouve pas comment. Si je lance la commande mount, je vois cette sortie

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

J'ai essayé les deux chmodet chown/chgrp, mais ils ne fonctionneront pas sur ce dossier monté, ainsi mon utilisateur apache ne pourra pas accéder à ce dossier. J'ai lu dans le manuel Vagrant que je peux changer de propriétaire et de groupe, mais cela ne mentionne rien à propos de la permission.

Comment puis je faire ça?

Une autre option pourrait être de basculer vers NFS, mais de cette manière, cela ne fonctionnera pas sur les plates-formes Windows et il faudra éditer le /etc/exportsfichier local . Cela nécessiterait des privilèges root, ce qui serait très gênant. Je préférerais donc ne pas effectuer cette modification.

Fabio
la source

Réponses:

53

Résolu avec cette ligne dans mon Vagantfile, pour v1.3.2 et plus tard:

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

Syntaxe avant la version 1.2:

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

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

Pour Vagrant 1.2, la bonne syntaxe était la suivante:

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

Crédits: Aal

Pour les versions 1.3.2 et ultérieure, l'indicateur "extra" du dossier synchronisé a été remplacé par "mount_options". Les options doivent figurer dans un tableau, chaque option constituant une chaîne distincte (au lieu que les deux options ne forment qu'une seule chaîne dans les versions précédentes).

Fabio
la source
6
Je ne sais pas pourquoi, mais j'ai besoin d'une syntaxe légèrement différente:config.vm.synced_folder ".", "/vagrant", :extra => "dmode=777,fmode=666"
Paul Voss
1
+1 Aal et +1 Fabio: share_folder est pré-Vagrant v1.2, synced_folder est Vagrant v1.2 et ultérieur. J'utilise puphpet.com pour générer mon manifeste, mais je devais faire cet ajustement dans le fichier Vagrant.
therobyouknow
2
config.vm.synced_folder ".", "/ vagrant",: mount_options => ["dmode = 777, fmode = 666"] a fonctionné pour moi sur la v1.3.2.
Nobu
3
Dans Vagrant 1.4.3, la syntaxe est encore un peu différente. La modification suivante apportée à Vagrantfile a fonctionné pour moi: config.vm.synced_folder "# {folder ['source']}", "# {folder ['target']}", id: "# {folder ['id']} ", tapez: nfs, mount_options: [" dmode = 777 "," fmode = 666 "]
ChezFre