运行 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
文件,而且需要 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”。选项需要放在一个数组中,每个选项都是一个单独的字符串(而不是像以前的版本那样两个选项都在一个字符串中)