Ansible

Ansible Devine Directiva pentru a rula comenzi ca utilizator specificat

Ansible Devine Directiva pentru a rula comenzi ca utilizator specificat

Folosind Ansible, puteți efectua diverse operații pe mașini la distanță folosind comenzi brute sau cărți de redare Ansible. În mod implicit, un playbook Ansible este executat pe gazda de la distanță ca același utilizator pe controlerul Ansible. Asta înseamnă că, dacă trebuie să executați o comandă ca alt utilizator pe aparatul la distanță, va trebui să o specificați în mod explicit în cartea de joc Ansible.

Pentru a implementa funcționalitatea comenzilor care rulează ca alt utilizator, va trebui să utilizați caracteristica sudo disponibilă în sistemele Linux. Directiva Ansible devine vă permite să rulați comenzi ca utilizator specificat.

Informațiile utilizatorului sunt specificate într-un manual Ansible utilizând variabilele devenite, cum ar fi devenit_pass, pentru a specifica parola utilizatorului devenit_utilizator, precum și ce utilizator poate rula comanda.

Cum se execută sarcini Ansible ca rădăcină

Pentru a rula o comandă specifică ca utilizator root în Ansible, puteți implementa directiva devenită și setați valoarea la „adevărat”.'Acest lucru îi spune Ansible să implementeze sudo fără argumente atunci când executați comanda.

De exemplu, luați în considerare un manual Ansible care actualizează pachetul MySQL-server și apoi îl repornește. În operațiile normale Linux, va trebui să vă conectați ca utilizator root pentru a efectua astfel de sarcini. În Ansible, puteți apela directiva devine: da, așa cum se arată mai jos:

- gazde: toate
devenit: da
sarcini:
- nume: Ansible rulează ca root și actualizează sys
da:
nume: mysql-server
stare: ultima
- Nume:
serviciu.serviciu:
nume: mysqld
state: repornit

În manualul de mai sus, am folosit directiva devenită și nu am specificat utilizatorul devenit_utilizator, deoarece orice comandă din directiva devenită este rulată implicit ca root.

Acest lucru este similar cu specificarea acestuia ca:

- gazde: toate
devenit: da
devenit_utilizator: rădăcină
sarcini:
- nume: Ansible rulează ca root și actualizează sys
da:
nume: mysql-server
stare: ultima
- nume: serviciu.serviciu:
nume: mysqld
state: repornit

Cum să executați sarcini Ansible ca Sudo

Pentru a rula o sarcină Ansible ca un anumit utilizator, mai degrabă decât un utilizator root normal, puteți utiliza directiva devenire_utilizator și puteți trece numele de utilizator al utilizatorului pentru a executa sarcina. Aceasta este ca și cum ați folosi comanda sudo -u în Unix.

Pentru a implementa directiva devine_utilizator, trebuie să activați mai întâi directiva devine, deoarece devine_utilizator este inutilizabilă fără ca această directivă să fie activată.

Luați în considerare următoarea carte de joc, în care comanda este executată ca fiind utilizatorul nimănui.

- nume: Rulați o comandă ca alt utilizator (nimeni)
comanda: ps aux
devenit: adevărat
devenit_metodă: su
devenit_utilizator: nimeni
devine_flaguri: '-s / bin / bash'

În fragmentul de playbook de mai sus, am implementat directivele devenire, devenire_utilizator și alte directii devenite.

  1. devenit_metodă: Aceasta setează metoda de creștere a privilegiilor, cum ar fi su sau sudo.
  2. directivă devenit_utilizator: Aceasta specifică utilizatorul pentru a rula comanda ca; acest lucru nu implică să devină: da.
  3. devenite_flaguri: Aceasta setează semnalizatoarele care vor fi utilizate pentru sarcina specificată.

Acum puteți rula manualul de mai sus cu numele fișierului ansible-playbook.yml și vedeți singur rezultatul. Pentru sarcini cu o ieșire, poate fi necesar să implementați modulul de depanare.

Cum să rulați Ansible devine cu parolă

Pentru a rula o directivă devenită care necesită o parolă, puteți spune Ansible să solicite o parolă atunci când invocați playbook-ul specificat.

De exemplu, pentru a rula un playbook cu o parolă, introduceți comanda de mai jos:

ansible-playbook devine_pass.yml --să-devină-trecere

De asemenea, puteți specifica steagul -K, care efectuează operațiuni similare cu comanda de mai sus. De exemplu:

ansible-playbook devine_pass.yml -K

Odată specificat, vi se va solicita o parolă atunci când sarcinile se execută.

NOTĂ: De asemenea, puteți utiliza directiva devenită în comenzile brute Ansible AD HOC folosind semnalul -b. Pentru a afla mai multe, consultați documentația furnizată mai jos:

https: // linkfy.pentru a / deveniDocumentare

Concluzie

După ce ați citit acest articol, ar trebui să știți acum cum să utilizați directiva Ansible BECOME pentru a efectua escaladarea de privilegii pentru diferite sarcini.

Din motive de securitate, este mai bine să implementați restricții pentru diferite conturi și să specificați în mod explicit când sunt utilizate. Deci, escaladarea privilegiilor este un aspect important al utilizării sudo și su în Ansible.

Tutorial Shadow of the Tomb Raider pentru Linux
Shadow of the Tomb Raider este a douăsprezecea completare a seriei Tomb Raider - o franciză de jocuri de acțiune-aventură creată de Eidos Montreal. Jo...
Cum se mărește FPS în Linux?
FPS înseamnă Cadre pe secundă. Sarcina FPS este de a măsura rata de cadre în redările video sau în performanțele jocului. În cuvinte simple, numărul d...
Cele mai bune jocuri Oculus App Lab
Dacă sunteți proprietarul căștilor Oculus, atunci trebuie să fiți informați despre încărcarea laterală. Încărcarea laterală este procesul de instalare...