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.

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).


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.