Отговорни

Директивата Ansible Become за изпълнение на команди като посочен потребител

Директивата Ansible Become за изпълнение на команди като посочен потребител

Използвайки Ansible, можете да извършвате различни операции на отдалечени машини, като използвате сурови команди или книги за игра Ansible. По подразбиране Ansible playbook се изпълнява на отдалечения хост като същия потребител на Ansible контролера. Това означава, че ако трябва да изпълните команда като друг потребител на отдалечената машина, ще трябва да я посочите изрично във вашата Ansible playbook.

За да приложите функционалността на изпълняваните команди като друг потребител, ще трябва да използвате функцията sudo, която е налична в Linux системи. Директивата Ansible become ви позволява да изпълнявате команди като посочения потребител.

Информацията за потребителя се посочва в Ansible playbook, като се използват променливите become, като become_pass, за да се посочи паролата на потребителя become_user, както и кой потребител може да изпълни командата.

Как да стартирам отговорни задачи като корен

За да изпълните конкретна команда като root потребител в Ansible, можете да приложите директивата Станете и да зададете стойността на 'true.'Правейки това, казва на Ansible да внедри sudo без аргументи при изпълнение на командата.

Например, помислете за Ansible playbook, който актуализира пакета MySQL-сървър и след това го рестартира. При нормални операции на Linux ще трябва да влезете като root потребител, за да изпълнявате такива задачи. В Ansible можете просто да извикате директивата become: yes, както е показано по-долу:

- домакини: всички
ставам: да
задачи:
- name: Ansible стартира като root и актуализира sys
yum:
име: mysql-сървър
състояние: последно
- име:
обслужване.обслужване:
име: mysqld
състояние: рестартирано

В горната книга за игри използвахме директивата Станете и не посочихме потребителя Стани_потребител, тъй като всички команди по директивата Стани по подразбиране се изпълняват като root.

Това е подобно на определянето му като:

- домакини: всички
ставам: да
станете_потребител: корен
задачи:
- name: Ansible стартира като root и актуализира sys
yum:
име: mysql-сървър
състояние: последно
- име: услуга.обслужване:
име: mysqld
състояние: рестартирано

Как да стартирате отговорни задачи като Sudo

За да стартирате Ansible задача като конкретен потребител, а не като обикновен потребител на root, можете да използвате директивата become_user и да предадете потребителското име на потребителя за изпълнение. Това е подобно на използването на командата sudo -u в Unix.

За да приложите директивата become_user, първо трябва да активирате директивата become, тъй като become_user е неизползваем без тази директива да е активирана.

Помислете за следната книга за игра, в която командата се изпълнява като никой потребител.

- name: Изпълнете команда като друг потребител (никой)
команда: ps aux
станете: истина
станете_метод: su
станете_потребител: никой
become_flags: '-s / bin / bash'

В горния фрагмент на playbook внедрихме директивите станете, станете_потребител и други станете.

  1. станете_метод: Това задава метода за повишаване на привилегиите, като su или sudo.
  2. директива_за потребител: Това определя потребителя да изпълнява командата като; това не означава да стане: да.
  3. станете_ флагчета: Това задава флаговете, които да се използват за посочената задача.

Вече можете да стартирате горната книга за игри с името на файла ansible-playbook.yml и вижте резултата сами. За задачи с изход може да се наложи да внедрите модула за отстраняване на грешки.

Как да стартирам Ansible ставам с парола

За да стартирате директива за ставане, която изисква парола, можете да кажете на 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.

Урок за битка за Уеснот
Битката за Уеснот е една от най-популярните стратегически игри с отворен код, които можете да играете по това време. Тази игра не само се разработва о...
0 А.д. Урок
От многото стратегически игри, 0 A.д. успява да се открои като изчерпателно заглавие и много дълбока, тактическа игра, въпреки че е с отворен код. Раз...
Урок за Unity3D
Въведение в Unity 3D Unity 3D е мощен двигател за разработка на игри. Това е кръстосана платформа, която ви позволява да създавате игри за мобилни уст...