Назад | Перейти на главную страницу

Ansible ssh в качестве пользователя и выполнения имеет root (ожидайте, как)

Мне нужно управлять важным количеством хостов, на которых есть только один пользователь, имеющий доступ по SSH (назовем его foo), а затем мне нужно войти в систему как root для выполнения привилегированных команд.

У пользователя Foo нет никаких прав sudo, поэтому я вынужден войти в систему как root для выполнения привилегированных команд. На самом деле я использую сценарий ожидания для выполнения этой задачи (вход в ssh как foo, вход как root через su), и я хочу переключиться на Ansible. Я знаю, что могу создать нового пользователя и дать ему привилегии sudo или просто предоставить привилегии sudo для foo, но возможно ли сделать то же самое, что и я, с Ansible?

Я хотел бы установить ssh-соединение как foo, а затем выполнить playbooks или любую другую команду adhoc как root. Я не нашел никакой информации об этом в документации Ansible, поэтому я спрашиваю здесь, проводил ли кто-нибудь такой допрос.

С участием ansible, ты можешь использовать sudo или su:

- hosts: example.com
  gather_facts: False
  su: yes
  su_user: root
  tasks:
    - shell: whoami

Вы также можете сделать это из командной строки:

ansible-playbook --su --su-user=root --ask-su-pass playbook.yml

Эта функция была доступна с этот запрос на перенос, и присутствует в текущей версии 1.6.6.