Ansible

Dyrektywa Ansible Become do uruchamiania poleceń jako określony użytkownik

Dyrektywa Ansible Become do uruchamiania poleceń jako określony użytkownik

Korzystając z Ansible, możesz wykonywać różne operacje na zdalnych komputerach za pomocą surowych poleceń lub podręczników Ansible. Domyślnie instrukcja odtwarzania Ansible jest wykonywana na zdalnym hoście jako ten sam użytkownik na kontrolerze Ansible. Oznacza to, że jeśli chcesz uruchomić polecenie jako inny użytkownik na zdalnym komputerze, musisz wyraźnie je określić w swoim podręczniku Ansible playbook.

Aby zaimplementować funkcjonalność uruchamiania poleceń jako inny użytkownik, będziesz musiał użyć funkcji sudo dostępnej w systemach Linux. Dyrektywa Ansible staje się umożliwia uruchamianie poleceń jako określony użytkownik.

Informacje o użytkowniku są określone w podręczniku Ansible przy użyciu zmiennych stają się, takich jak staje się_pass, w celu określenia hasła użytkownika staje się_użytkownik, a także tego, który użytkownik może uruchomić polecenie.

Jak uruchamiać zadania Ansible jako root

Aby uruchomić określone polecenie jako użytkownik root w Ansible, możesz zaimplementować dyrektywę stać i ustawić wartość na 'true.' Wykonanie tego mówi Ansible, aby zaimplementować sudo bez argumentów podczas uruchamiania polecenia.

Rozważmy na przykład podręcznik Ansible, który aktualizuje pakiet MySQL-server, a następnie uruchamia go ponownie. W normalnych operacjach Linuksa, aby wykonać takie zadania, musisz zalogować się jako użytkownik root. W Ansible możesz po prostu wywołać dyrektywę stać się: tak, jak pokazano poniżej:

- gospodarze: wszyscy
stać się: tak
zadania:
- nazwa: Ansible uruchom jako root i zaktualizuj sys
mniam:
nazwa: mysql-serwer
stan: najnowszy
- Nazwa:
usługa.usługa:
nazwa: mysqld
stan: zrestartowany

W powyższym podręczniku użyliśmy dyrektywy staje się i nie określiliśmy użytkownika stanie się_użytkownikiem, ponieważ wszystkie polecenia objęte dyrektywą stają się domyślnie uruchamiane jako root.

Jest to podobne do określenia go jako:

- gospodarze: wszyscy
stać się: tak
zostań_użytkownikiem: root
zadania:
- nazwa: Ansible uruchom jako root i zaktualizuj sys
mniam:
nazwa: mysql-serwer
stan: najnowszy
- nazwa:usługa.usługa:
nazwa: mysqld
stan: zrestartowany

Jak uruchamiać zadania Ansible jako Sudo

Aby uruchomić zadanie Ansible jako określony użytkownik, a nie jako zwykły użytkownik root, możesz użyć dyrektywy staje się_użytkownikiem i przekazać nazwę użytkownika w celu wykonania zadania. Przypomina to polecenie sudo -u w systemie Unix.

Aby zaimplementować dyrektywę staje się_użytkownikiem, należy najpierw aktywować dyrektywę staje się, ponieważ staje się_użytkownik jest bezużyteczny bez aktywowania tej dyrektywy.

Rozważmy następujący podręcznik, w którym polecenie jest uruchamiane jako użytkownik none nobody.

- nazwa: Uruchom polecenie jako inny użytkownik (nikt)
polecenie: ps aux
stać się prawdziwym
zostań_metodą: su
zostań_użytkownikiem: nikt
stać się_flagami: '-s /bin/bash'

W powyższym fragmencie z podręcznika zaimplementowaliśmy dyrektywy zostań, zostań_użytkownikiem i inne dyrektywy stają się.

  1. zostań_metodą: Ustawia metodę eskalacji uprawnień, taką jak su lub sudo.
  2. dyrektywa zostań_użytkownikiem: Określa użytkownika, który ma uruchomić polecenie jako; to nie oznacza, że ​​stanie się: tak.
  3. zostań_flagami: Ustawia flagi, które mają być używane dla określonego zadania.

Możesz teraz uruchomić powyższy podręcznik z nazwą pliku ansible-playbook.yml i zobacz wynik dla siebie. W przypadku zadań z danymi wyjściowymi może być konieczne zaimplementowanie modułu debugowania.

Jak uruchomić Ansible z hasłem

Aby uruchomić dyrektywę zostań, która wymaga hasła, możesz powiedzieć Ansible, aby pytał o hasło podczas wywoływania określonego playbooka.

Na przykład, aby uruchomić playbook z hasłem, wpisz poniższe polecenie:

ansible-playbook staje się_pass.yml --ask-become-pass

Możesz także podać flagę -K, która wykonuje podobne operacje do powyższego polecenia. Na przykład:

ansible-playbook staje się_pass.yml -K

Po określeniu zostaniesz poproszony o podanie hasła podczas wykonywania zadań.

UWAGA: Możesz również użyć dyrektywy stać się w surowych poleceniach Ansible AD HOC za pomocą flagi -b. Aby dowiedzieć się więcej, zapoznaj się z dokumentacją podaną poniżej:

https://linkfy.do/zostać Dokumentacją

Wniosek

Po przeczytaniu tego artykułu powinieneś już wiedzieć, jak używać dyrektywy Ansible BECOME do eskalacji uprawnień do różnych zadań.

Ze względów bezpieczeństwa lepiej jest wprowadzić ograniczenia dla różnych kont i wyraźnie określić, kiedy są używane. Tak więc eskalacja uprawnień jest ważnym aspektem używania sudo i su w Ansible.

Mouse left-click button not working on Windows 10
If you are using a dedicated mouse with your laptop, or desktop computer but the mouse left-click button is not working on Windows 10/8/7 for some rea...
Cursor jumps or moves randomly while typing in Windows 10
If you find that your mouse cursor jumps or moves on its own, automatically, randomly while typing in Windows laptop or computer, then some of these s...
How to reverse Mouse and Touchpads scrolling direction in Windows 10
Mouse and Touchpads not only make computing easy but more efficient and less time-consuming. We cannot imagine a life without these devices, but still...