Sto creando un libro di esercizi che prima crea un nuovo nome utente. Quindi voglio eseguire "moretasks.yml" come quel nuovo utente che ho appena creato. Attualmente, sto impostando remote_user per ogni attività. C'è un modo in cui posso impostarlo per l'intera serie di compiti una volta? Non riesco a trovare esempi di questo, né alcuno dei miei tentativi di spostare remote_user in aiuto.Imposta utente_remoto per un insieme di attività nella cartella di gioco Ansible senza ripeterlo per attività
Di seguito main.yml:
---
- name: Configure Instance(s)
hosts: all
remote_user: root
gather_facts: true
tags:
- config
- configure
tasks:
- include: createuser.yml new_user=username
- include: moretasks.yml new_user=username
- include: roottasks.yml #some tasks unrelated to username.
moretasks.yml:
---
- name: Task1
copy:
src: /vagrant/FILE
dest: ~/FILE
remote_user: "{{newuser}}"
- name: Task2
copy:
src: /vagrant/FILE
dest: ~/FILE
remote_user: "{{newuser}}"
Pensavo che sudo_user fosse quello che veniva eseguito solo se avevi bisogno di fare qualche azione sudo? Voglio sottolineare che gli utenti che sto creando non hanno privilegi sudo. Tutte le azioni in "moretasks" sono locali nella loro casa. È ancora appropriato (fuorviante?) Utilizzare l'approccio sudo_user? (L'approccio ha funzionato) – Shark
Hai ragione, @Shark. Da doc, sudo_user: questo è l'utente predefinito da sudo se --sudo-utente non è specificato o 'sudo_user' non è specificato in una cartella di gioco Ansible. L'impostazione predefinita è la più logica: 'root'. – Esteban
Si noti che 'sudo' e' sudo_user' sono stati deprecati a favore di 'become' e' become_user'. http://docs.ansible.com/ansible/become.html#become – kkurian