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 строка | Исполняемый файл По умолчанию: Конфигурация:
|
become_flags строка | Параметры, передаваемые в По умолчанию: Конфигурация:
|
become_pass строка | Пароль для Конфигурация:
|
become_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;
}
});
Ссылки на коллекцию
© 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