become_user defines the user which is being used for privilege escalation.
become simply is a flag to either activate or deactivate the same.
Here are three examples which should make it clear:
-
This task will be executed as
root, becauserootis the default user for privilege escalation:- do: something become: true -
This task will be executed as user
someone, because the user is explicitly set:- do: something become: true become_user: someone -
This task will not do anything with
become_user, becausebecomeis not set and defaults tofalse/no:- do: something become_user: someone
…unless become was set to true on a higher level, e.g. a block, the playbook, group or host-vars etc.
Here is an example with a block:
- become: true
block:
- do: something
become_user: someone
- do: something
The first 1st is ran as user someone, the 2nd as root.
As I understand it become_user is something similar to su , and become means something like sudo su or “perform all commands as a sudo user”.
The default become_method is sudo, so sudo do something or sudo -u <become_user> do something
Fineprint: Of course “do: something” is pseudocode. Put your actual Ansible module there.