Tim*_*nov 20 nfs command-line sudo virtualbox vagrant
抱歉我犯的语言错误。我试图防止 vagrant 在通过 NFS 挂载共享文件夹时询问密码:
[server] Exporting NFS shared folders...
Preparing to edit /etc/exports. Administrator privileges will be required...
[sudo] password for timur: #!!!
Run Code Online (Sandbox Code Playgroud)
我已经红色了很多在线资源,如 github 和其他作者的帖子,但对我来说没有任何作用......
我试过这里的说明。我没有深厚的 cli 工作知识。那么有人可以为我的问题提供正确的解决方案吗?
小智 35
官方 Vagrant 文档现在涵盖了这一点:https : //www.vagrantup.com/docs/synced-folders/nfs.html#root-privilege-requirement
您需要向/etc/sudoers
文件中添加条目,编辑方式是在终端输入:sudo visudo
输入您的密码,然后您正在编辑该文件。您需要在下面粘贴这些行(取决于您是在 OS X 还是 Linux 上运行 Vagrant。
如果您不熟悉它打开的vim,这个页面有帮助。基本上,复制下面适当的文本块。然后,在 visudo 中,转到要将文本粘贴到文件中的位置(文件末尾很好),然后按“i”进入插入模式。CMD+V 粘贴文本。然后,按 ESC,然后键入:w
以保存更改,然后:q
退出。
从 1.7.3 版本开始,OS X 中的 sudoers 文件应该包含以下条目:
Cmnd_Alias VAGRANT_EXPORTS_ADD = /usr/bin/tee -a /etc/exports
Cmnd_Alias VAGRANT_NFSD = /sbin/nfsd restart
Cmnd_Alias VAGRANT_EXPORTS_REMOVE = /usr/bin/sed -E -e /*/ d -ibak /etc/exports
%admin ALL=(root) NOPASSWD: VAGRANT_EXPORTS_ADD, VAGRANT_NFSD, VAGRANT_EXPORTS_REMOVE
Run Code Online (Sandbox Code Playgroud)
Linux 应该有这些条目:
Cmnd_Alias VAGRANT_EXPORTS_CHOWN = /bin/chown 0\:0 /tmp/*
Cmnd_Alias VAGRANT_EXPORTS_MV = /bin/mv -f /tmp/* /etc/exports
Cmnd_Alias VAGRANT_NFSD_CHECK = /etc/init.d/nfs-kernel-server status
Cmnd_Alias VAGRANT_NFSD_START = /etc/init.d/nfs-kernel-server start
Cmnd_Alias VAGRANT_NFSD_APPLY = /usr/sbin/exportfs -ar
%sudo ALL=(root) NOPASSWD: VAGRANT_EXPORTS_CHOWN, VAGRANT_EXPORTS_MV, VAGRANT_NFSD_CHECK, VAGRANT_NFSD_START, VAGRANT_NFSD_APPLY
Run Code Online (Sandbox Code Playgroud)
请注意,这些从一个版本的 Vagrant 更改为另一个版本,因此上述内容可能已经过时。重要的是文档现在涵盖了它。