10

尝试将NFS插件与 Vagrant 中的同步文件夹一起使用,并且它正在工作,除了在来宾(VM)中权限错误:

-rw-r--r-- 1  501 dialout    0 Jan 20 00:51 a
-rw-r--r-- 1  501 dialout    0 Jan 20 00:51 foo

我尝试根据 Vagrant 文档设置uidand :gidVagrantfile

config.nfs.map_uid = 1001
config.nfs.map_gid = 1001

我希望在来宾中使用正确的用户/组,但它仍在使用501and dialout

有任何想法吗?

4

2 回答 2

2

这在 MacOS Catalina 主机和 Ubuntu 18.04 来宾(Vagrant 2.2.9,VirtualBox 6.1.12)上对我有用:

opts = {
  type: 'nfs',
  linux__nfs_options: ['no_root_squash'],
  map_uid: 0,
  map_gid: 0
}

config.vm.synced_folder '.', '/var/www/project', opts

chown然后,您可以chmod像往常一样:

$ sudo chown -R vagrant:vagrant /var/www/project
$ sudo chmod -R 774 /var/www/project/logs

注意no_root_squash适用于开发环境,但不要将其用于生产环境。它允许远程根用户更改共享文件系统中的任何文件。

另一种选择可能是使用vagrant-bindfs插件。但我不想为此安装和配置额外的插件。

于 2020-07-20T14:25:47.707 回答
-4

我遇到过同样的问题。它是在我将我的 MacOS 升级到 mcOS Sierra 版本 10.12.1 之后开始的。对我有用的技巧是将所有者和组设置/强制为 Vagrantfile 中的“流浪”用户,如下所示:

    config.vm.synced_folder "/users/myuser/src/", "/home/vagrant/src/", owner: "vagrant", group: "vagrant"

我还必须删除之前在 Vagrantfile 中的“nfs:true”设置。

于 2016-11-13T14:38:29.730 回答