community.general.machinectl become – Systemd 的 machinectl 权限提升
注意
此 become 插件是 community.general 集合(版本 10.1.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.general
。
要在剧本中使用它,请指定:community.general.machinectl
。
概要
此 become 插件允许您的远程/登录用户通过 machinectl 实用程序以其他用户身份执行命令。
参数
参数 |
注释 |
---|---|
Machinectl 可执行文件。 默认值: 配置
|
|
传递给 machinectl 的选项。 默认值: 配置
|
|
machinectl 的密码。 配置
|
|
您“成为”以执行任务的用户。 默认值: 配置
|
备注
注意
当不使用此插件和用户
root
时,它仅在具有 polkit 规则的情况下才能正确工作,该规则将更改 machinectl 的行为。如果用户被允许执行该操作,则此规则必须更改提示行为以直接询问用户凭据(请查看示例部分)。如果不存在这样的规则,则该插件仅在与 root 用户一起使用时才起作用,因为 machinectl 将不会显示任何进一步的提示。
示例
# A polkit rule needed to use the module with a non-root user.
# See the Notes section for details.
/etc/polkit-1/rules.d/60-machinectl-fast-user-auth.rules: |
polkit.addRule(function(action, subject) {
if(action.id == "org.freedesktop.machine1.host-shell" &&
subject.isInGroup("wheel")) {
return polkit.Result.AUTH_SELF_KEEP;
}
});