Diferencia entre convertirse y convertirse en usuario en Ansible.
ansible-playbook ansible-2.x (1)
Recientemente comencé a indagar en Ansible y a escribir mis propios libros de jugadas. Sin embargo, tengo problemas para entender la diferencia entre become
y become
become_user
. Según tengo entendido, become_user
es algo similar a su <username>
, y become
significar algo como sudo su
o "ejecutar todos los comandos como usuario de sudo". Pero a veces estas dos directivas se mezclan.
¿Podrías explicar el significado correcto de ellos?
become_user
define el usuario que se utiliza para la escalada de privilegios .
simplemente se become
una bandera para activar o desactivar la misma.
Aquí hay tres ejemplos que deberían dejarlo claro:
Esta tarea se ejecutará como
root
, porqueroot
es el usuario predeterminado para la escalada de privilegios:- do: something become: yes
Esta tarea se ejecutará como usuario a
someone
, porque el usuario está configurado explícitamente:- do: something become: yes become_user: someone
Esta tarea no hará nada con
become_user
, porque no se establece y el valor predeterminado esfalse
/no
:- do: something become_user: someone
... a menos que se haya establecido en
true
en un nivel superior, por ejemplo, un bloque, el libro de jugadas, grupo o host-vars, etc.Aquí hay un ejemplo con un block :
- become: yes block: - do: something become_user: someone - do: something
El primero 1 se ejecuta como usuario de
someone
, el segundo comoroot
.
Según tengo entendido, Become_user es algo similar a su, y llegar a ser significa algo como sudo su o "ejecutar todos los comandos como usuario de sudo".
El become_method
defecto es el become_method
sudo
, así que sudo do something
o sudo -u <become_user> do something