3

私は vagrant VM を実行しており、assets というフォルダーを使用してディレクトリを作成し、サブディレクトリとファイルを保存する laravel アプリケーションを使用しています。フォルダが作成されると、権限は読み取り専用にのみ設定されます。sudo コマンドを使用してディレクトリへのアクセス許可を変更しても、エラーは解決しません。

vagrant ファイルの構成。

Vagrant.configure("2") do |config|
  config.vm.box = "wheezy64"
  config.vm.box_url = "http://puppet-vagrant-boxes.puppetlabs.com/debian-70rc1-x64-vbox4210.box"

  config.vm.network "private_network", ip: "192.168.36.49"

  config.vm.synced_folder "./", "/var/www", id: "webroot", :group => "www-data", :owner => "vagrant", :nfs => false

  config.vm.usable_port_range = (2200..2250)
  config.vm.provider :virtualbox do |virtualbox|
    virtualbox.customize ["modifyvm", :id, "--name", "premierPortal"]
    virtualbox.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
    virtualbox.customize ["modifyvm", :id, "--memory", "1024"]
    virtualbox.customize ["setextradata", :id, "--VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]
  end

  config.vm.provision :shell, :path => "shell/initial-setup.sh"
  config.vm.provision :shell, :path => "shell/update-puppet.sh"
  config.vm.provision :shell, :path => "shell/librarian-puppet-vagrant.sh"
  config.vm.provision :puppet do |puppet|
    puppet.facter = {
      "ssh_username" => "vagrant"
    }

    puppet.manifests_path = "puppet/manifests"
    puppet.options = ["--verbose", "--hiera_config /vagrant/hiera.yaml", "--parser future"]
end

  config.ssh.username = "vagrant"

  config.ssh.shell = "bash -l"

  config.ssh.keep_alive = true
  config.ssh.forward_agent = false
  config.ssh.forward_x11 = false
  config.vagrant.host = :detect
end

vagrant 構成ファイル内のグループと所有者を変更し、新しい設定で vm をリロードしようとしましたが、何も機能していないようです。機能する唯一のことは、フォルダーが作成されるたびに各アクセス許可を手動で変更することです。

4

1 に答える 1

0

config.vm.synced_folder の最後に「mount_options」を次のように追加します (たとえば、ここでは明らかに終了ビットのみが必要です!):

config.vm.synced_folder "deploy", "/var/www", id: "vagrant-root", :mount_options => ["dmode=777","fmode=666"]
于 2013-12-02T00:07:55.460 に答える