尝试将NFS
插件与Vagrant中的同步文件夹一起使用,它正在运行,但在guest虚拟机(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
我尝试根据uid
中的Vagrant文档设置gid
和Vagrantfile
:
config.nfs.map_uid = 1001
config.nfs.map_gid = 1001
我希望在访客中使用正确的用户/群组,但它仍在使用501
和dialout
。
有什么想法吗?
答案 0 :(得分:0)
这在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
适用于开发环境,但请勿用于生产环境。它允许远程root用户更改共享文件系统中的任何文件。
另一个选择可能是使用vagrant-bindfs插件。但是我不想为此安装和配置额外的插件。
答案 1 :(得分:-3)
我有同样的问题。它是在我将MacOS升级到mcOS Sierra版本10.12.1之后开始的。对我有用的技巧是在Vagrantfile中设置/强制所有者和组到'vagrant'用户,如下所示:
config.vm.synced_folder "/users/myuser/src/", "/home/vagrant/src/", owner: "vagrant", group: "vagrant"
我还必须删除先前在Vagrantfile中的'nfs:true'设置。