无法获得与Ansible一起使用的sudo命令

jmi*_*ela 4 sudo ansible ansible-playbook

我正在尝试使用Ansible来配置Vagrant盒子和EC2服务器.当使用--connection = local时,它在Vagrant框上工作正常,但它似乎只是忽略了sudo:True line

当我这样做:

---
- hosts: remote
  vars_files:
    - vars.yml
  gather_facts: false
  sudo: True
  remote_user: root

  tasks:
  - name: test
    file: state=directory path=~/test
Run Code Online (Sandbox Code Playgroud)

它在普通用户的主目录中创建目录,由普通用户拥有.用户没有密码,我可以使用sudo命令而不提示输入密码.我错过了什么?

tom*_*omu 5

您还需要添加"sudo_user"选项.

详细信息:
sudo使用sudo_user的值获取用户名,sudo_user默认为root,因此在您的示例中,您以root用户身份登录(此用户名来自"remote_user")并执行
sudo su - root -c "mkdir ~/test"

http://docs.ansible.com/intro_configuration.html#sudo-user

是的,该目录是在sudo_user home中创建的.