MyTetra Share
Делитесь знаниями!
Опция become в Ansible - что это такое и для чего она используется
Время создания: 28.11.2019 14:45
Текстовые метки: ansible, become
Раздел: Компьютер - Linux - Оркестрация - Ansible
Запись: xintrea/mytetra_syncro/master/base/1574941503w23gn98iza/text.html на raw.github.com

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


Пользователь по-умолчанию задается в настроечном файле Ansible:



sudo_user=root



По другой информации, эта опция должна называться так:



remote_user=root



В общем, это надо выяснить у гуру.


В любом случае, может возникнуть ситуация, в которой то или иное задание нужно сделать под другим пользователем. В Ansible предусмотрен для этого механизм, который называется страшными словами "эскалация прав доступа". За ними скрывается очень простая вещь: всего три опции.



  • become (bool) — указывает на необходимость эскалации привилегий; 
  • become_method (строка) — метод эскалации привилегий; 
  • become_user (строка) — пользователь под которым мы заходим с помощью become_method; 



Данные опции применяются либо для плейбука, либо для отдельного задания. Вот пример таких опций:


---

- hosts: debian-servers
  become: true
  become_method: sudo
  become_user: root

copy:

...



Если опция become=true, то будет разрешена смена пользователя. В противном случае, опции become_method и become_user работать не будут.


Опция become_method устанавливает метод изменения пользователя. Обычно, для Debian-дистрибутивов требуется sudo, а для RedHat-подобных дистрибутивов su.


Опция become_user говорит, на какого пользователя надо переключиться.


Вот и все дела.


Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования