60 votes

l'utilisateur vs sudo vs sudo_user dans ansible tablettes playbook

J'ai lu l'Ansible de la documentation mais je suis encore un peu confus sur les trois paramètres suivants dans ansible tablettes playbook: utilisateur, sudo, sudo_user.

J'ai essayé les tablettes playbook avec différentes combinaisons de paramètres:

  1. utilisateur:déployer => Fonctionne

  2. utilisateur:déployer et sudo: True => se Bloque sur le git de la tâche

  3. utilisateur:déployer, sudo: Vrai et sudo_user: déployer => Fonctionne

Ce n'sudo_user faire réellement? Quand et pourquoi devrais-je utiliser chacune de ces combinaisons?

- hosts: all
  user: deploy
  sudo: True
  sudo_user: deploy

  tasks:
      - name: Ensure code directory
        file: dest=/home/deploy/code state=directory

      - name: Deploy app
        git: repo=git@bitbucket.org:YAmikep/djangotutorial.git dest=/home/deploy/code

Merci

72voto

leucos Points 2213
  • user est l'utilisateur que vous êtes en ssh avec comme. Avec votre config, vous êtes ssh avec comme deploy.

  • sudo_user est l'utilisateur que vous êtes sudo communique sur l'hôte lors de l' sudo: yes est réglé.

Donc je pense que dans votre cas, aucune des sudo et sudo_user sont nécessaires si vous pouvez ssh en tant que deploy.

Cependant, si vous en ssh en tant que root, vous devez définir sudo_user: deploy et sudo: yes.

Si vous demandez le "sudo", mais ne spécifiez pas de n'importe quel utilisateur, Ansible utilisera la valeur par défaut définie dans votre ~/.ansible.cfg (sudo_user), et sera, par défaut, root.

Notez que user est obsolète (car c'est source de confusion). Vous devez utiliser remote_user à la place.

EDIT: Cas #2 probablement se bloque à cause de ssh confirmation de questions : vous avez probablement bitbucket.org la clé d'hôte en ~deploy/.ssh/known_hosts mais PAS en ~root/.ssh/known_hosts

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X