Odgovorno

Direktiva Ansible Become za pokretanje naredbi kao određenog korisnika

Direktiva Ansible Become za pokretanje naredbi kao određenog korisnika

Koristeći Ansible možete izvršavati razne operacije na udaljenim strojevima koristeći sirove naredbe ili knjige za reprodukciju Ansible. Prema zadanim postavkama, Ansible playbook se izvršava 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 svojoj knjizi odgovora Ansible.

Da biste implementirali funkcionalnost izvršavanja naredbi kao drugi korisnik, morat ćete upotrijebiti sudo značajku koja je dostupna u Linux sustavima. Direktiva Ansible become omogućuje vam izvršavanje naredbi kao navedeni korisnik.

Podaci o korisniku navedeni su u priručniku Ansible pomoću varijabli postati, kao što je become_pass, kako bi se odredila lozinka korisnika become_user, kao i koji korisnik može pokrenuti naredbu.

Kako pokrenuti odgovorne zadatke kao korijen

Da biste pokrenuli određenu naredbu kao korijenski korisnik u Ansibleu, možete implementirati naredbu postati i vrijednost postaviti na 'true.'To čini Ansibleu da implementira sudo bez argumenata prilikom izvođenja naredbe.

Na primjer, razmotrite knjigu Ansible koja ažurira paket MySQL poslužitelja, a zatim ga ponovno pokreće. U normalnim operacijama Linuxa, za izvršavanje takvih zadataka trebate se prijaviti kao root korisnik. U Ansibleu možete jednostavno nazvati direktivu become: yes, kao što je prikazano dolje:

- domaćini: svi
postati: da
zadaci:
- ime: Ansible pokrenuti kao root i ažurirati sys
njam:
ime: mysql-poslužitelj
stanje: najnovije
- Ime:
servis.servis:
naziv: mysqld
stanje: ponovno pokrenuto

U gornjoj priručniku koristili smo direktivu become i nismo naveli korisnika become_user, jer se sve naredbe u skladu s direktivom default po pravilu izvode kao root.

Ovo je slično specificiranju kao:

- domaćini: svi
postati: da
postati_korisnik: root
zadaci:
- ime: Ansible pokrenuti kao root i ažurirati sys
njam:
ime: mysql-poslužitelj
stanje: najnovije
- naziv: usluga.servis:
naziv: mysqld
stanje: ponovno pokrenuto

Kako pokrenuti odgovorne zadatke kao Sudo

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

Da biste primijenili direktivu postali_korisnik, prvo morate aktivirati direktivu postati, jer je postati_korisnik neupotrebljiv bez aktiviranja ove direktive.

Razmotrite sljedeću knjigu priručnika u kojoj se naredba izvodi kao nitko korisnik.

- ime: Pokrenite naredbu kao drugi korisnik (nitko)
naredba: ps aux
postati: istina
postati_metoda: su
postati_korisnik: nitko
postaju_znakovi: '-s / bin / bash'

U gornji isječak knjige priručnika implementirali smo direktive postati, postati_korisnik i druge postanke.

  1. postati_metoda: Ovim se postavlja metoda eskalacije privilegija, poput su ili sudo.
  2. postani_korisnička direktiva: Ovo navodi korisnika da izvrši naredbu kao; to ne podrazumijeva postati: da.
  3. postaju_znakovi: Ovim se postavljaju zastavice koje će se koristiti za navedeni zadatak.

Sada možete pokrenuti gornju knjigu s play-om s imenom datoteke ansible-playbook.yml i uvjerite se sami u rezultat. Za zadatke s izlazom možda ćete trebati implementirati modul za otklanjanje pogrešaka.

Kako pokrenuti Ansible postati s lozinkom

Da biste pokrenuli direktivu za postajanje koja zahtijeva lozinku, možete reći Ansibleu da zatraži lozinku prilikom pozivanja navedene knjige.

Na primjer, za pokretanje playbooka s lozinkom unesite naredbu ispod:

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

Također možete odrediti zastavicu -K koja izvodi operacije slične gornjoj naredbi. Na primjer:

ansible-playbook postati_prolaz.yml -K

Jednom kada ste navedeni, od vas će se zatražiti lozinka prilikom izvršavanja zadataka.

BILJEŠKA: Direktivu postati možete koristiti i u sirovim naredbama Ansible AD HOC koristeći zastavicu -b. Da biste saznali više, pogledajte dolje navedenu dokumentaciju:

https: // linkfy.u / postatiDokumentacija

Zaključak

Nakon čitanja ovog članka, sada biste trebali znati kako koristiti direktivu Ansible BECOME za obavljanje eskalacije privilegija za razne zadatke.

Iz sigurnosnih razloga bolje je primijeniti ograničenja za različite račune i izričito navesti kada se koriste. Dakle, eskalacija privilegija važan je aspekt upotrebe sudo i su u Ansibleu.

Kako koristiti Xdotool za poticanje klikova i pritiska miša u Linuxu
Xdotool je besplatni alat za naredbene retke otvorenog koda za simulaciju klikova mišem i pritiska tipki. Ovaj će članak pokrivati ​​kratki vodič o ko...
Top 5 ergonomskih proizvoda za računalni miš za Linux
Uzrokuje li dugotrajno korištenje računala bolove u zapešću ili prstima? Patite li od ukočenih zglobova i stalno se morate rukovati? Osjećate li goruć...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...