Direktiva Ansible Become to Run Commands as Specified User

Ansible Become Directive Run Commands



Pomoću Ansiblea možete izvesti razne operacije na udaljenim strojevima koristeći neobrađene naredbe ili Ansible knjige. Prema zadanim postavkama, Ansible playbook izvodi se na udaljenom hostu kao i isti korisnik na Ansible kontroleru. To znači da ako trebate pokrenuti naredbu kao drugi korisnik na udaljenom računalu, morat ćete je izričito navesti u knjizi Ansible.

Da biste implementirali funkcionalnost izvođenja naredbi kao drugog korisnika, morat ćete koristiti sudo značajku koja je dostupna u Linux sustavima. Direktiva Ansible become omogućuje vam pokretanje naredbi kao navedeni korisnik.







Korisnički se podaci navode u Ansible playbooku pomoću varijabli become, kao što je become_pass, za navođenje lozinke korisnika become_user, kao i koji korisnik može pokrenuti naredbu.



Kako pokrenuti odgovorne zadatke kao root

Da biste pokrenuli određenu naredbu kao root korisnik u Ansibleu, možete implementirati direktivu become i postaviti vrijednost na 'true.' Time se Ansibleu kaže da implementira sudo bez argumenata prilikom izvođenja naredbe.



Na primjer, razmislite o knjizi Ansible koja ažurira paket poslužitelja MySQL, a zatim ga ponovno pokreće. U normalnim operacijama Linuxa za izvršavanje takvih zadataka morate se prijaviti kao root korisnik. U Ansibleu možete jednostavno pozvati direktivu become: yes, kao što je prikazano u nastavku:





- domaćini: svi

postati:Da

zadaci:

- naziv: Ansible runkaoroot i ažurirajte sys

njam:

naziv: mysql-poslužitelj

stanje: najnoviji

- Ime:

service.service:
ime: mysqld

stanje: ponovno pokrenuto

U gornjoj knjižici koristili smo direktivu become i nismo naveli korisnika become_user jer se sve naredbe prema direktivi become prema zadanim postavkama izvode kao root.

Ovo je slično specificiranju kao:



- domaćini: svi

postati:Da

postati_korisnik: root

zadaci:

- naziv: Ansible runkaoroot i ažurirajte sys

njam:
naziv: mysql-poslužitelj

stanje: najnoviji

- naziv: service.service:

ime: mysqld

stanje: ponovno pokrenuto

Kako pokrenuti odgovorne zadatke kao Sudo

Da biste pokrenuli zadatak Ansible kao određeni korisnik, a ne kao normalni korisnik root, možete upotrijebiti direktivu become_user i proslijediti korisničko ime korisnika za izvršavanje zadatka. Ovo je poput korištenja naredbe sudo -u u Unixu.

Da biste implementirali direktivu become_user, morate najprije aktivirati direktivu become, jer postane postala_user neupotrebljiva bez aktiviranja ove direktive.

Razmislite o sljedećoj knjizi u kojoj se naredba izvodi kao nitko korisnik.

- naziv: Pokreni anaredba kaodrugi korisnik(nitko)
naredba:p.sod

postati:pravi

postati_metoda:svoje

postati_korisnik: nitko

postati_ zastavice:'-s /bin /bash'

U gornjem isječku knjige za reprodukciju implementirali smo direktive become, become_user i druge become.

  1. postati_metoda : Time se postavlja metoda eskalacije privilegija, poput su ili sudo.
  2. direktiva postala_korisnik : Ovo navodi korisnika za izvršavanje naredbe kao; to ne podrazumijeva postati: da.
  3. postanite_zastavice : Ovo postavlja zastavice koje će se koristiti za navedeni zadatak.

Sada možete pokrenuti gornju knjigu s imenom ansible-playbook filename.yml i sami vidjeti rezultat. Za zadatke s izlazom možda ćete morati implementirati modul za ispravljanje pogrešaka.

Kako pokrenuti Ansible s lozinkom

Da biste pokrenuli direktivu become koja zahtijeva lozinku, možete reći Ansibleu da traži lozinku prilikom pozivanja na zadatu knjigu.

Na primjer, da biste pokrenuli knjigu s lozinkom, unesite naredbu ispod:

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

Također možete navesti -K zastavu, koja izvodi slične operacije kao gornja naredba. Na primjer:

ansible-playbook become_pass.yml-DO

Nakon što je navedeno, od vas će se tražiti lozinka prilikom izvršavanja zadataka.

BILJEŠKA : Također možete koristiti direktivu become u Ansible AD HOC sirovim naredbama pomoću oznake -b. Da biste saznali više, pogledajte dolje navedenu dokumentaciju:

https://linkfy.to/becomeDocumentation

Zaključak

Nakon čitanja ovog članka sada biste trebali znati upotrijebiti direktivu Ansible BECOME za izvršavanje eskalacije privilegija za različite zadatke.

Iz sigurnosnih razloga, bolje je implementirati ograničenja za različite račune i izričito navesti kada se koriste. Dakle, povećanje privilegija važan je aspekt korištenja sudo i su u Ansibleu.