Spec-Zone.ru › Ansible

community.general.machinectl become — повышение привилегий с помощью machinectl в systemd

Примечание

Этот плагин become входит в коллекцию community.general (версия 12.6.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в состав ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install community.general.

Чтобы использовать её в плейбуке, укажите: community.general.machinectl.

  • Обзор
  • Параметры
  • Примечания
  • Примеры

Обзор

  • Этот плагин become позволяет удалённому пользователю или пользователю, под которым выполнен вход, выполнять команды от имени другого пользователя с помощью утилиты machinectl.

Параметры

Параметр

Комментарии

become_exe

строка

Исполняемый файл machinectl.

По умолчанию: "machinectl"

Конфигурация:

  • Записи INI:

    [privilege_escalation]
    become_exe = machinectl
    
    [machinectl_become_plugin]
    executable = machinectl
    
  • Переменная окружения: ANSIBLE_BECOME_EXE
  • Переменная окружения: ANSIBLE_MACHINECTL_EXE
  • Переменная: ansible_become_exe
  • Переменная: ansible_machinectl_exe

become_flags

строка

Параметры, передаваемые в machinectl.

По умолчанию: ""

Конфигурация:

  • Записи INI:

    [privilege_escalation]
    become_flags = ""
    
    [machinectl_become_plugin]
    flags = ""
    
  • Переменная окружения: ANSIBLE_BECOME_FLAGS
  • Переменная окружения: ANSIBLE_MACHINECTL_FLAGS
  • Переменная: ansible_become_flags
  • Переменная: ansible_machinectl_flags

become_pass

строка

Пароль для machinectl.

Конфигурация:

  • Запись INI:

    [machinectl_become_plugin]
    password = VALUE
    
  • Переменная окружения: ANSIBLE_BECOME_PASS
  • Переменная окружения: ANSIBLE_MACHINECTL_PASS
  • Переменная: ansible_become_password
  • Переменная: ansible_become_pass
  • Переменная: ansible_machinectl_pass

become_user

строка

Пользователь, от имени которого выполняется задача.

По умолчанию: ""

Конфигурация:

  • Записи INI:

    [privilege_escalation]
    become_user = ""
    
    [machinectl_become_plugin]
    user = ""
    
  • Переменная окружения: ANSIBLE_BECOME_USER
  • Переменная окружения: ANSIBLE_MACHINECTL_USER
  • Переменная: ansible_become_user
  • Переменная: ansible_machinectl_user

Примечание

Записи конфигурации, перечисленные выше для каждого типа записей (переменная Ansible, переменная окружения и т. д.), упорядочены по приоритету от низкого к высокому. Например, переменная, стоящая ниже в списке, переопределит переменную, стоящую выше. Типы записей также упорядочены по приоритету от низкого к высокому. Например, запись в ansible.cfg (расположенная выше в списке) переопределяется переменной Ansible (расположенной ниже в списке).

Примечания

Примечание

  • Если использовать этот плагин не от имени пользователя root, он работает корректно только при наличии правила polkit, изменяющего поведение machinectl. Это правило должно изменять поведение запроса, чтобы запрашивались непосредственно учётные данные пользователя, если ему разрешено выполнить действие (см. раздел с примерами). Если такого правила нет, плагин работает только в контексте пользователя root, поскольку в этом случае machinectl больше не выводит запрос.
  • Этот плагин become не работает, если включена конвейеризация соединения. В ansible-core 2.19 и новее его использование автоматически отключает конвейеризацию. В ansible-core 2.18 и более ранних версиях пользователь должен отключить конвейеризацию явно.

Примеры

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

Авторы

  • Команда Ansible Core

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Задать вопрос
  • Сообщить об ошибке
  • Предложить новую возможность
  • Общение

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/machinectl_become.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API