Оболочки

Содержание

Оболочки#

В коллекцию ansible.builtin входят следующие расширения оболочки:

  • cmd;

  • powershell;

  • sh.

Описание применения расширений приведено в документе Оболочки.

cmd#

Расширение ansible.builtin.cmd предназначено для выполнения команд через командную строку Windows (cmd.exe).

Расширение поддерживает следующие параметры:

async_dir#

Каталог хранения информации об асинхронных задачах (async jobs).

Значение по умолчанию: %USERPROFILE%\.ansible_async.

Параметр можно передать следующими способами:

  • Конфигурационный файл ansible.cfg:

    [cmd]
    async_dir = %USERPROFILE%\.ansible_async
    
  • Переменная ansible_async_dir.

remote_tmp#

Временный каталог на удаленном узле для копирования файлов перед выполнением задач.

Значение по умолчанию: %TEMP%.

Параметр можно передать следующими способами:

  • Конфигурационный файл ansible.cfg:

    [cmd]
    remote_tmp = %TEMP%
    
  • Переменная ansible_remote_tmp.

set_module_language#

Использование локали при выполнении модулей на целевом узле.

Возможные значения:

  • no – используется системная локаль по умолчанию;

  • yes – локаль будет установлена явно.

Значение по умолчанию: no.

Примечание

На ОС Windows допустимо только значение no.

powershell#

Расширение ansible.builtin.powershell используется для выполнения команд через PowerShell.

Поддерживает следующие параметры:

async_dir#

Каталог хранения информации об асинхронных задачах (async jobs).

Значение по умолчанию: %USERPROFILE%\.ansible_async.

Параметр можно передать следующими способами:

  • Конфигурационный файл ansible.cfg:

    [powershell]
    async_dir = %USERPROFILE%\.ansible_async
    
  • Переменная ansible_async_dir.

remote_tmp#

Временный каталог на удаленном узле для копирования файлов перед выполнением задач.

Значение по умолчанию: %TEMP%.

Параметр можно передать следующими способами:

  • Конфигурационный файл ansible.cfg:

    [powershell]
    remote_tmp = %TEMP%
    
  • Переменная ansible_remote_tmp.

set_module_language#

Использование локали при выполнении модулей на целевом узле.

Возможные значения:

  • no – используется системная локаль по умолчанию;

  • yes – локаль будет установлена явно.

Значение по умолчанию: no.

Примечание

На ОС Windows допустимо только значение no.

sh#

Расширение ansible.builtin.sh используется для выполнения команд через /bin/sh – стандартный командный интерпретатор в Unix-подобных системах.

Расширение поддерживает следующие параметры:

admin_users#

Список пользователей, обладающих административными правами.

Используется Ansible для организации совместного доступа к временным файлам между пользователем, от имени которого выполняется задача, и пользователем с повышенными привилегиями (become).

Значение по умолчанию: ['root', 'toor'].

Параметр можно передать следующими способами:

  • Конфигурационный файл ansible.cfg:

    [defaults]
    admin_users = root, toor
    
  • Переменная окружения ANSIBLE_ADMIN_USERS.

  • Переменная ansible_admin_users.

async_dir#

Каталог хранения информации об асинхронных задачах (async jobs).

Значение по умолчанию: ~/.ansible_async.

Параметр можно передать следующими способами:

  • Конфигурационный файл ansible.cfg:

    [defaults]
    async_dir = ~/.ansible_async
    
  • Переменная окружения ANSIBLE_ASYNC_DIR.

  • Переменная ansible_async_dir.

common_remote_group#

Группа, общая для пользователей, указанных в параметрах remote_user и become_user.

Используется, если невозможно назначить права доступа к временным файлам с помощью setfacl или chown. В этом случае Ansible применяет команду chgrp и устанавливает владельцем файлов указанную группу.

Примечание

Группа должна быть общей для обоих пользователей, иначе Ansible не сможет обеспечить совместный доступ к временным файлам.

Параметр можно передать следующими способами:

  • Конфигурационный файл ansible.cfg:

    [defaults]
    common_remote_group = somegroup
    
  • Переменная окружения ANSIBLE_COMMON_REMOTE_GROUP.

  • Переменная ansible_common_remote_group.

remote_tmp#

Временный каталог на целевом узле, используемый при копировании файлов.

Значение по умолчанию: ~/.ansible/tmp.

Параметр можно передать следующими способами:

  • Конфигурационный файл ansible.cfg:

    [defaults]
    remote_tmp = ~/.ansible/tmp
    
  • Переменные окружения:

    • ANSIBLE_REMOTE_TMP;

    • ANSIBLE_REMOTE_TEMP.

  • Переменная ansible_remote_tmp.

system_tmpdirs#

Список допустимых системных временных каталогов на управляемом узле, которые Ansible может использовать при проверке параметра remote_tmp.

Если Ansible не удается установить требуемые права доступа к каталогу, указанному в параметре remote_tmp, он проверяет, входит ли этот каталог в список system_tmpdirs. Если входит – Ansible продолжает использовать его. В противном случае будет использован первый каталог из списка system_tmpdirs.

Каталоги в списке system_tmpdirs должны:

  • существовать на управляемом узле;

  • разрешать чтение, запись и выполнение для всех пользователей.

Значение по умолчанию: ['/var/tmp', '/tmp'].

Параметр можно передать следующими способами:

  • Конфигурационный файл ansible.cfg:

    [defaults]
    system_tmpdirs = /var/tmp,/tmp
    
  • Переменная окружения ANSIBLE_SYSTEM_TMPDIRS.

  • Переменная ansible_system_tmpdirs.

world_readable_temp#

Позволяет создавать временные файлы с доступом для всех пользователей (world-readable).

Если world_readable_temp=true, то при возникновении проблем с доступом к файлам Ansible выдаст предупреждение вместо завершения задачи с ошибкой.

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

Возможные значения:

  • false – доступ к файлам есть только у пользователя-владельца;

  • true – доступ к файлам есть у всех пользователей ОС.

Значение по умолчанию: false.

Параметр можно передать следующими способами:

  • Конфигурационный файл ansible.cfg:

    [defaults]
    allow_world_readable_tmpfiles = True
    
  • Переменная окружения ANSIBLE_SHELL_ALLOW_WORLD_READABLE_TEMP.

  • Переменная ansible_shell_allow_world_readable_temp.