community.general.run0 become – Systemd’s run0
Note
This become plugin is part of the community.general collection (version 13.0.1).
You might already have this collection installed if you are using the ansible package.
It is not included in ansible-core.
To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install community.general.
To use it in a playbook, specify: community.general.run0.
New in community.general 9.0.0
Synopsis
This become plugins allows your remote/login user to execute commands as another user using the
run0utility.
Parameters
Parameter |
Comments |
|---|---|
Default: Configuration:
|
|
Options to pass to Default: Configuration:
|
|
User you ‘become’ to execute the task. Default: Configuration:
|
Note
Configuration entries listed above for each entry type (Ansible variable, environment variable, and so on) have a low to high priority order. For example, a variable that is lower in the list will override a variable that is higher up. The entry types are also ordered by precedence from low to high priority order. For example, an ansible.cfg entry (further up in the list) is overwritten by an Ansible variable (further down in the list).
Notes
Note
This plugin only works when a
polkitrule is in place.This become plugin does not work when connection pipelining is enabled. With ansible-core 2.19+, using it automatically disables pipelining. On ansible-core 2.18 and before, pipelining must explicitly be disabled by the user.
Examples
# An example polkit rule that allows the user 'ansible' in the 'wheel' group
# to execute commands using run0 without authentication.
/etc/polkit-1/rules.d/60-run0-fast-user-auth.rules: |-
polkit.addRule(function(action, subject) {
if(action.id == "org.freedesktop.systemd1.manage-units" &&
subject.isInGroup("wheel") &&
subject.user == "ansible") {
return polkit.Result.YES;
}
});