Vagrant是否创建/etc/sudoers.d/Vagrant文件,或者是否需要手动添加该文件以使用ansible sudo_用户?

Vagrant是否创建/etc/sudoers.d/Vagrant文件,或者是否需要手动添加该文件以使用ansible sudo_用户?,vagrant,ansible,Vagrant,Ansible,一些ubuntu云图像,如以下图像: 拥有文件/etc/sudoers.d/vagrant,其内容为vagrant ALL=(ALL)NOPASSWD:ALL 其他盒子,比如这个 没有,因此,sudo_用户的ansible命令不起作用 我可以添加以下文件: - name: ensure Vagrant is a sudoer copy: content="vagrant ALL=(ALL) NOPASSWD:ALL" dest=/etc/sudoers.d/vagrant owner=ro

一些ubuntu云图像,如以下图像:

拥有文件/etc/sudoers.d/vagrant,其内容为vagrant ALL=(ALL)NOPASSWD:ALL

其他盒子,比如这个

没有,因此,sudo_用户的ansible命令不起作用

我可以添加以下文件:

- name: ensure Vagrant is a sudoer
  copy: content="vagrant ALL=(ALL) NOPASSWD:ALL" dest=/etc/sudoers.d/vagrant owner=root group=root
  sudo: yes
我想知道流浪汉是否应该做些什么,因为这个任务
在真实(非漫游)计算机上运行ansible playbook时将不适用。

漫游需要使用
config.ssh.username=“root”
或更常见的通过
sudo
对VM进行特权访问。Bento Ubuntu当前将其直接发送给/etc/sudoers

我不知道ansible的sudo_用户做了什么或意味着什么,但我猜您的配置正在覆盖/etc/sudoers。在这种情况下,您确实需要确保不会丢失Vagrant对VM的sudo访问。或者使用sudoers.d构建您自己的基本框

另外,如果创建/etc/sudoers.d/文件,还应该将其模式设置为0440,或者至少一些较旧的sudo版本拒绝应用它