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
ファイルを編集する必要があり、ルート権限が必要であり、かなり煩わしいので、使用したくないこの変更を行います。
V1.3.2以降の場合、私のVagantfileでこの行を使用して解決します。
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」に変更されました。オプションは、各オプションが個別の文字列として配列に含まれている必要があります(以前のバージョンでは両方のオプションが単一の文字列であったのに対して)。