Vagrant设置默认共享权限

Vagrant设置默认共享权限

运行 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 权限,而且非常烦人,所以我不想做这种改变。

答案1

使用我的 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"

致谢:阿尔

对于 v1.3.2 及更高版本,同步文件夹上的“extra”标志已更改为“mount_options”。选项需要放在一个数组中,每个选项都是一个单独的字符串(而不是像以前的版本那样两个选项都在一个字符串中)

相关内容