Virtualization

Vagrant 設置預設共享權限

  • May 24, 2016

執行 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)

我已經嘗試過chmodchown/chgrp,但它們無法在那個掛載的文件夾上工作,所以我的 apache 使用者無法訪問那個文件夾。我在 Vagrant 手冊中讀到我可以更改所有者和組,但它沒有提及許可。

我怎樣才能做到這一點?

另一種選擇可能是切換到 NFS,但這樣它不能在 Windows 平台上工作,它需要編輯本地/etc/exports文件,它需要 root 權限,而且很煩人,所以我寧願不做這個改變。

在 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"

學分:阿爾

對於 v1.3.2 及更高版本,同步文件夾上的“額外”標誌已更改為“mount_options”。選項需要在一個數組中,每個選項作為一個單獨的字元串(而不是在以前的版本中兩個選項都在一個字元串中)

引用自:https://serverfault.com/questions/398414