Відповідальний

Директива Ansible Become для запуску команд як зазначений користувач

Директива Ansible Become для запуску команд як зазначений користувач

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

Щоб реалізувати функціональність запущених команд як інший користувач, вам потрібно буде використовувати функцію sudo, доступну в системах Linux. Директива Ansible become дозволяє запускати команди як вказаний користувач.

Інформація про користувача вказується у програмі Ansible за допомогою змінних postali, таких як become_pass, щоб вказати пароль користувача become_user, а також, який користувач може запустити команду.

Як запустити відповідні завдання як root

Щоб запустити конкретну команду як кореневого користувача в Ansible, ви можете реалізувати директиву become і встановити значення 'true.'Виконання цього підказує Ansible впровадити sudo без аргументів під час запуску команди.

Наприклад, розглянемо книгу-програму Ansible, яка оновлює пакет MySQL-сервера, а потім перезапускає його. У звичайних операціях Linux для виконання таких завдань вам потрібно буде увійти в систему як користувач root. В Ansible ви можете просто викликати директиву become: yes, як показано нижче:

- господарі: всі
стати: так
завдання:
- ім'я: Ansible запустити як root і оновити sys
ням:
ім'я: mysql-сервер
стан: останнє
- ім'я:
обслуговування.послуга:
ім'я: mysqld
стан: перезапущено

У наведеному вище посібнику ми використовували директиву become і не вказували користувача become_user, оскільки будь-які команди під директивою become за замовчуванням виконуються як root.

Це схоже на вказівку як:

- господарі: всі
стати: так
Стань_користувачем: root
завдання:
- ім'я: Ansible запустити як root і оновити sys
ням:
ім'я: mysql-сервер
стан: останнє
- назва: послуга.послуга:
ім'я: mysqld
стан: перезапущено

Як запустити відповідні завдання як Sudo

Щоб запустити завдання Ansible як конкретний користувач, а не як звичайний кореневий користувач, ви можете використовувати директиву become_user і передати ім'я користувача для виконання завдання. Це схоже на використання команди sudo -u в Unix.

Щоб реалізувати директиву Стать_користувачем, спочатку потрібно активувати директиву Становлення, оскільки функція Стань_користувачем неможлива без активації цієї директиви.

Розглянемо наступний посібник, в якому команда виконується як ніхто користувач.

- name: Запустити команду як інший користувач (ніхто)
команда: ps aux
стати: правдою
Стань_методом: su
стань_користувачем: ніхто
become_flags: '-s / bin / bash'

У наведеному вище фрагменті посібника ми застосували директиви postati, станьте_користувачем та іншими перетвореннями.

  1. стати_методом: Це встановлює метод ескалації привілеїв, такий як su або sudo.
  2. директива postati_користувачем: Це визначає користувача для запуску команди як; це не означає, що став: так.
  3. стати_прапорами: Встановлює прапори, які використовуватимуться для зазначеного завдання.

Тепер ви можете запустити вищезгадану книгу-програму з іменем файлу ansible-playbook.yml і подивіться на результат самі. Для завдань з вихідними результатами вам може знадобитися реалізувати модуль налагодження.

Як запустити Ansible postati за допомогою пароля

Щоб запустити директиву стаття, яка вимагає введення пароля, ви можете сказати Ansible запитати пароль під час виклику вказаної книги.

Наприклад, щоб запустити ігрову книгу з паролем, введіть команду нижче:

ansible-playbook become_pass.yml --ask-become-pass

Ви також можете вказати прапор -K, який виконує операції, подібні до наведеної вище команди. Наприклад:

ansible-playbook become_pass.yml -K

Після вказівки вам буде запропоновано ввести пароль під час виконання завдань.

ПРИМІТКА: Ви також можете скористатися директивою ставки в необроблених командах Ansible AD HOC, використовуючи прапор -b. Щоб дізнатись більше, перегляньте документацію, представлену нижче:

https: // linkfy.to / becomeDocumentation

Висновок

Прочитавши цю статтю, ви тепер повинні знати, як використовувати директиву Ansible BECOME для виконання ескалації привілеїв для різних завдань.

З міркувань безпеки краще застосувати обмеження для різних облікових записів і чітко вказати, коли вони використовуються. Отже, ескалація привілеїв є важливим аспектом використання sudo та su в Ansible.

Як показати накладання екранного меню в повноекранному додатку та іграх для Linux
Гра у повноекранні ігри або використання додатків у повноекранному повноекранному режимі може відключити від відповідної системної інформації, видимої...
Топ 5 карт для захоплення ігор
Ми всі бачили і любили потокові ігри на YouTube. PewDiePie, Jakesepticye та Markiplier - лише деякі з найкращих геймерів, які заробили мільйони, заван...
Як розробити гру на Linux
Десять років тому не так багато користувачів Linux передбачали, що їх улюблена операційна система колись стане популярною ігровою платформою для комер...