Vagrant Set Default Share Permissions


32

vagrantインスタンスを実行すると、プロジェクトフォルダーが/vagrant自動的にマウントされます。ただし、次の権限でマウントされます

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

(少なくとも)0770でマウントする必要がありますが、方法がわかりません。mountコマンドを実行すると、次の出力が表示されます

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

との両方chmodを試しましchown/chgrpたが、マウントされたフォルダーでは機能しないため、Apacheユーザーはそのフォルダーにアクセスできません。Vagrantマニュアルで、所有者とグループを変更できることを読みましたが、許可については何も言及していません。

どうやってやるの?

別のオプションはNFSに切り替えることもできますが、この方法ではWindowsプラットフォームでは機能せず、ローカル/etc/exportsファイルを編集する必要があり、ルート権限が必要であり、かなり面倒なので、この変更を行わないことをお勧めします。

回答:


53

Vagantfileのv1.3.2以降の次の行で解決しました。

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

1.2バージョンより前の構文:

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

クレジット:http : //ubuntuforums.org/showthread.php?t=1434884

Vagrant 1.2の正しい構文は次のとおりです。

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

クレジット:Aal

v1.3.2以降では、同期フォルダーの「追加」フラグが「mount_options」に変更されました。オプションは、各オプションが個別の文字列として配列にある必要があります(以前のバージョンでは両方のオプションが単一の文字列であったのに対して)


6
知らんなぜ、私は少し異なる構文必要があります:config.vm.synced_folder ".", "/vagrant", :extra => "dmode=777,fmode=666"
ポール・ボス

1
Aal +1およびFabio +1:share_folderはVagrant v1.2より前、synced_folderはVagrant v1.2以降です。puphpet.comを使用してマニフェストを生成しましたが、Vagrantfileでこの調整を行う必要がありました。
-therobyouknow

2
config.vm.synced_folder "。"、 "/ vagrant"、:mount_options => ["dmode = 777、fmode = 666"]はv1.3.2で機能しました。
ノブ

3
Vagrant 1.4.3では、構文が少し異なります。Vagrantfileに対する次の変更が機能しました:config.vm.synced_folder "#{folder ['source']}"、 "#{folder ['target']}"、id: "#{folder ['id']} "、タイプ:nfs、mount_options:[" dmode = 777 "、"
fmode
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.