Vagrant 1.9.5:设置默认同步文件夹的权限

Posted

技术标签:

【中文标题】Vagrant 1.9.5:设置默认同步文件夹的权限【英文标题】:Vagrant 1.9.5: setting permissions for the default synced folders 【发布时间】:2017-06-01 20:49:18 【问题描述】:

我需要在我的ubuntu/xenial64 框中将权限和所有权设置为/vagrant,并且我在 Vagrant 文件中找到了几个很好的配置选项解决方案。然而,我的问题是这个 - 我找不到答案: 我的默认 Vagrant 文件(Vagrant 1.9.5)在同步文件夹上没有任何配置。然而项目目录被同步到来宾中的/vagrant。所以没关系。

但如果我在 Vagrant 文件中添加任何配置,例如:

    config.vm.synced_folder ".", "/vagrant",
    mount_options: ["dmode=755, fmode=644"]

我在vagrant up 上收到一个错误,这基本上告诉我盒子上没有安装Guest Additions。所以很明显 vagrant 将我的指令解释为指的是我不需要的其他同步文件夹。

    Vagrant was unable to mount VirtualBox shared folders. This is usually
    because the filesystem "vboxsf" is not available. This filesystem is
    made available via the VirtualBox Guest Additions and kernel module.
    Please verify that these guest additions are properly installed in the
    guest...

基本上我不明白在哪里可以设置默认同步文件夹的选项?

【问题讨论】:

【参考方案1】:

所以解决这个问题的方法就是禁用 Vagrantfile 中的默认同步文件夹,就像这样

config.vm.synced_folder ".", "/vagrant", disabled: true

然后专门设置同步文件夹所需的选项,例如

config.vm.synced_folder ".", "/vagrant_dev_shg",
    owner: "vagrant",
    group: "www-data",
    mount_options: ["dmode=775,fmode=644"]

【讨论】:

通过Vagrantfile 禁用默认共享的绝佳技巧,因此可以在其他地方覆盖它。我想补充一点,mount_options 特定于共享文件夹 type,例如,对于 smb 类型,['dir_mode=0775', 'file_mode=0644']

以上是关于Vagrant 1.9.5:设置默认同步文件夹的权限的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在Vagrant中同步子文件夹?

忽略使用 NFS 作为 Vagrant 同步系统的同步文件夹文件/目录

Vagrant 共享和同步文件夹

Vagrant 共享/同步文件夹权限

Vagrant 同步文件夹上的 Composer 错误

Vagrant:如何禁用 Windows 主机的 NFS 同步文件夹?