Direktiva Ansible Become to Run Commands as Specified User

Ansible Become Directive Run Commands



Z uporabo Ansible lahko izvajate različne operacije na oddaljenih strojih z uporabo surovih ukazov ali knjig za igranje Ansible. Knjiga predvajanja Ansible se privzeto izvede na oddaljenem gostitelju kot isti uporabnik na krmilniku Ansible. To pomeni, da če morate ukaz izvajati kot drug uporabnik na oddaljenem računalniku, ga boste morali izrecno določiti v knjigi Ansible.

Za izvajanje funkcionalnosti izvajanja ukazov kot drugega uporabnika boste morali uporabiti funkcijo sudo, ki je na voljo v sistemih Linux. Direktiva Ansible become omogoča izvajanje ukazov kot podani uporabnik.







Uporabniški podatki so podani v knjigi Ansible playbook z uporabo spremenljivk postanejo, na primer become_pass, za določitev gesla uporabnika become_user, pa tudi, kateri uporabnik lahko izvede ukaz.



Kako zagnati Ansible Tasks kot root

Če želite zagnati določen ukaz kot korenski uporabnik v Ansibleu, lahko implementirate direktivo become in vrednost nastavite na 'true.' To pove Ansibleu, da pri izvajanju ukaza uvede sudo brez argumentov.



Na primer, razmislite o knjigi Ansible, ki posodobi paket strežnika MySQL in ga nato znova zažene. Pri običajnih operacijah Linuxa bi se morali za opravljanje takih nalog prijaviti kot korenski uporabnik. V Ansibleu lahko preprosto pokličete direktivo become: yes, kot je prikazano spodaj:





- gostitelji: vsi

postati:da

naloge:

- ime: Odgovorni tekkotroot in posodobi sys

yum:

ime: mysql-strežnik

stanje: najnovejše

- ime:

service.service:
ime: mysqld

stanje: znova zagnano

V zgornjem priročniku smo uporabili direktivo become in nismo podali uporabnika become_user, saj se vsi ukazi po direktivi become privzeto izvajajo kot root.

To je podobno kot pri določanju:



- gostitelji: vsi

postati:da

become_user: root

naloge:

- ime: Odgovorni tekkotroot in posodobi sys

yum:
ime: mysql-strežnik

stanje: najnovejše

- ime: service.service:

ime: mysqld

stanje: znova zagnano

Kako izvajati odgovorne naloge kot Sudo

Če želite izvesti nalogo Ansible kot določen uporabnik in ne kot običajni korenski uporabnik, lahko uporabite direktivo become_user in za izvajanje naloge posredujete uporabniško ime. To je podobno uporabi ukaza sudo -u v Unixu.

Če želite implementirati direktivo become_user, morate najprej aktivirati direktivo become, saj postane postala uporabnik brez aktivirane te direktive neuporabna.

Razmislite o naslednjem priročniku, v katerem se ukaz izvaja kot uporabnik nikogar.

- ime: Zaženi aukaz kotdrugega uporabnika(nihče)
ukaz:psod

postati:prav

postal_metoda:svoje

become_user: nihče

become_flags:'-s /bin /bash'

V zgornjem delčku knjige smo uporabili direktive become, become_user in druge postao.

  1. postal_metoda : To nastavi način povečevanja privilegijev, na primer su ali sudo.
  2. Direktiva postane_ uporabnik : Ta podaja, da mora uporabnik izvesti ukaz kot; to ne pomeni: da.
  3. postanejo_z zastave : To nastavi zastavice za uporabo za podano nalogo.

Zdaj lahko zaženete zgornjo knjigo z datoteko ansible-playbook ime datoteke.yml in sami vidite rezultat. Za opravila z izhodom boste morda morali implementirati modul za odpravljanje napak.

Kako zagnati Ansible z geslom

Če želite zagnati direktivo postane, ki zahteva geslo, lahko Ansibleju pokličete, da zahteva geslo, ko prikliče določeno knjigo predvajanja.

Če želite na primer zagnati knjigo z geslom, vnesite spodnji ukaz:

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

Določite lahko tudi zastavico -K, ki izvaja podobne operacije kot zgornji ukaz. Na primer:

ansible-playbook become_pass.yml-TO

Ko je podano, boste med izvajanjem nalog pozvani k vnosu gesla.

OPOMBA : Direktivo become lahko uporabite tudi v surovih ukazih Ansible AD HOC z zastavico -b. Če želite izvedeti več, si oglejte spodnjo dokumentacijo:

https://linkfy.to/becomeDocumentation

Zaključek

Ko boste prebrali ta članek, bi morali vedeti, kako uporabiti direktivo Ansible BECOME za povečanje privilegijev za različna opravila.

Iz varnostnih razlogov je bolje uporabiti omejitve za različne račune in izrecno določiti, kdaj se uporabljajo. Tako je povečanje privilegijev pomemben vidik uporabe sudo in su v Ansibleu.