Question

J'essaie d'utiliser Ansible pour provisionner une box Vagrant et un serveur EC2.Cela fonctionne bien sur la box Vagrant lors de l'utilisation de --connection=local, mais il semble simplement ignorer le sudo :Vraie ligne

Quand je fais ça :

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

  tasks:
  - name: test
    file: state=directory path=~/test

Il crée le répertoire dans le répertoire personnel de l'utilisateur normal, appartenant à l'utilisateur normal.L'utilisateur n'a pas de mot de passe et je peux utiliser des commandes avec sudo sans qu'on me le demande.Qu'est-ce que je rate?

Était-ce utile?

La solution

Vous devez également ajouter l'option "sudo_user".

Détails:
sudo utilise la valeur de sudo_user pour obtenir le nom d'utilisateur et sudo_user est par défaut root, donc dans votre exemple, vous vous connectez en tant que root (ce nom d'utilisateur provient de "remote_user") et faites
sudo su - root -c "mkdir ~/test"

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

Et oui, le répertoire a été créé dans sudo_user home.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top