community.general.run0 become – Systemd 的 run0

注意

此 become 插件是 community.general 集合(版本 10.1.0)的一部分。

如果您使用的是 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.general

要在 playbook 中使用它,请指定:community.general.run0

community.general 9.0.0 中的新增功能

概要

  • 此 become 插件允许您的远程/登录用户通过 run0 实用程序以其他用户身份执行命令。

参数

参数

注释

become_exe

字符串

run0 可执行文件。

默认值: "run0"

配置

  • INI 条目

    [privilege_escalation]
    become_exe = run0
    
    [run0_become_plugin]
    executable = run0
    
  • 环境变量:ANSIBLE_BECOME_EXE

  • 环境变量:ANSIBLE_RUN0_EXE

  • 变量:ansible_become_exe

  • 变量:ansible_run0_exe

become_flags

字符串

传递给 run0 的选项。

默认值: ""

配置

  • INI 条目

    [privilege_escalation]
    become_flags = ""
    
    [run0_become_plugin]
    flags = ""
    
  • 环境变量:ANSIBLE_BECOME_FLAGS

  • 环境变量:ANSIBLE_RUN0_FLAGS

  • 变量:ansible_become_flags

  • 变量:ansible_run0_flags

become_user

字符串

您“成为”以执行任务的用户。

默认值: "root"

配置

  • INI 条目

    [privilege_escalation]
    become_user = root
    
    [run0_become_plugin]
    user = root
    
  • 环境变量:ANSIBLE_BECOME_USER

  • 环境变量:ANSIBLE_RUN0_USER

  • 变量:ansible_become_user

  • 变量:ansible_run0_user

备注

注意

  • 仅当 polkit 规则存在时,此插件才有效。

示例

# 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;
    }
  });

作者

  • Thomas Sjögren (@konstruktoid)

提示

每个条目类型的配置条目都具有从低到高的优先级顺序。例如,列表中较低的变量将覆盖列表中较高的变量。