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

时间:2014-01-08 23:28:30

标签: 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

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

1 个答案:

答案 0 :(得分: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中创建的。