Конфигурация: - name: run setup.sh command: /home/test/setup.sh become_user: test Скрипт не выполнится от нужного пользователя.
Created attachment 8906 [details] Пример плейбука
Comment on attachment 8906 [details] Пример плейбука Необходимо добавить параметр become: yes
(Ответ для Pavel Vasenkov на комментарий #2) > Комментарий к вложению 8906 [details] [подробности] > Пример плейбука > > Необходимо добавить параметр > become: yes Для этого нужен sudo.
Да, sudo требуется. А как планировалось повысить привилегии? Как выполняется скрипт на локальной машине или удаленно? Если локально, владелец playbook должен быть sudoer пользователем. Если удаленно, то пользователь, которым логинимся, также должен уметь запускать с правами суперпользователя.
(Ответ для Pavel Vasenkov на комментарий #4) > Да, sudo требуется. > А как планировалось повысить привилегии? > > Как выполняется скрипт на локальной машине или удаленно? > Если локально, владелец playbook должен быть sudoer пользователем. > Если удаленно, то пользователь, которым логинимся, также должен уметь > запускать с правами суперпользователя. Удаленно, логинюсь под root, потом мне нужно сделать su - testuser и пустить от этого пользователя скрипт.
По умолчанию sudo в системе установлен. Необходимо проверить на удаленной машине разрешения на его использование: # control sudowheel если статус disabled, запустить: # control sudowheel enabled
Согласно https://docs.ansible.com/ansible/latest/plugins/become.html#using-become-plugins вы можете указать метод повышения привилегий явно: become: yes become_user: test become_method: su При этом надо учитывать особенность альтового su: http://altlinux.org/Su