Ang Ansible Naging Directive upang Patakbuhin ang Mga Utos bilang Tinukoy na User

Ansible Become Directive Run Commands



Gamit ang Ansible, maaari kang magsagawa ng iba't ibang mga operasyon sa mga remote machine gamit ang mga hilaw na utos o Ansible playbook. Bilang default, isang Ansible playbook ay naisakatuparan sa remote host bilang parehong gumagamit sa Ansible controller. Nangangahulugan iyon na kung kailangan mong magpatakbo ng isang utos bilang isa pang gumagamit sa remote machine, kakailanganin mong tukuyin ito nang malinaw sa iyong Ansible playbook.

Upang maipatupad ang pagpapaandar ng pagpapatakbo ng mga utos bilang ibang gumagamit, kakailanganin mong gamitin ang tampok na sudo na magagamit sa mga Linux system. Pinapayagan ka ng Ansible na maging direktiba na magpatakbo ng mga utos bilang tinukoy na gumagamit.







Ang impormasyon ng gumagamit ay tinukoy sa isang Ansible playbook gamit ang mga naging variable, tulad ng maging_pass, upang tukuyin ang password ng user na maging_user, pati na rin kung aling gumagamit ang maaaring magpatakbo ng utos.



Paano Patakbuhin ang Mga Gawain na Hindi Kapansin-pansin bilang Root

Upang magpatakbo ng isang tukoy na utos bilang root user sa Ansible, maaari mong ipatupad ang maging direktiba at itakda ang halaga sa 'totoo.' Ang paggawa nito ay nagsasabi sa Ansible na ipatupad ang sudo nang walang mga argumento kapag nagpapatakbo ng utos.



Halimbawa, isaalang-alang ang isang Ansible playbook na nag-a-update sa pakete ng MySQL-server at pagkatapos ay i-restart ito. Sa normal na pagpapatakbo ng Linux, kakailanganin mong mag-log in bilang root user upang maisagawa ang mga nasabing gawain. Sa Ansible, maaari mo lamang tawagan ang naging: oo direktiba, tulad ng ipinakita sa ibaba:





- host: lahat

maging:oo

gawain:

- pangalan: Hindi marunong tumakbobilangroot at update sys

yum:

pangalan: MySQL-server

estado: pinakabagong

- pangalan:

service.service:
pangalan: MySQL

estado: restart

Sa playbook sa itaas, ginamit namin ang naging direktiba at hindi tinukoy ang naging_dating gumagamit, dahil ang anumang mga utos sa ilalim ng pagiging direktiba ay pinapatakbo bilang ugat bilang default.

Ito ay katulad sa pagtukoy nito bilang:



- host: lahat

maging:oo

naging_user: ugat

gawain:

- pangalan: Hindi marunong tumakbobilangroot at update sys

yum:
pangalan: MySQL-server

estado: pinakabagong

- pangalan: service.service:

pangalan: MySQL

estado: restart

Paano Patakbuhin ang Mga Gawain na Hindi Kapansin-pansin bilang Sudo

Upang patakbuhin ang isang napakahalagang gawain bilang isang tukoy na gumagamit, sa halip na ang normal na gumagamit ng ugat, maaari mong gamitin ang direktibo na maging_user at ipasa ang username ng gumagamit upang maisagawa ang gawain. Ito ay katulad ng paggamit ng sudo -u utos sa Unix.

Upang maipatupad ang naging direktiba ng pagiging_user, dapat mo munang i-aktibo ang naging direktiba, dahil ang naging_user ay hindi magagamit nang hindi naaktibo ang direktibong ito.

Isaalang-alang ang sumusunod na playbook, kung saan pinapatakbo ang utos bilang walang gumagamit.

- pangalan: Run autos bilangibang gumagamit(walang tao)
utos:psng

maging:totoo

maging_method:nito

naging_user: walang tao

naging_flags:'-s / bin / bash'

Sa snippet ng playbook sa itaas, ipinatupad namin ang naging, naging_user, at iba pang mga naging direktiba.

  1. maging_pamaraan : Itinatakda nito ang pamamaraang escalation ng pribilehiyo, tulad ng su o sudo.
  2. naging direktiba ng__user : Tinutukoy nito ang gumagamit na patakbuhin ang utos bilang; hindi ito nagpapahiwatig na maging: oo.
  3. maging_mga flag : Itinatakda nito ang mga watawat na gagamitin para sa tinukoy na gawain.

Maaari mo nang patakbuhin ang playbook sa itaas gamit ang hindi madaling basahin na filename.yml at makita ang resulta para sa iyong sarili. Para sa mga gawaing may isang output, maaaring kailanganin mong ipatupad ang module ng debug.

Paano Patakbuhin ang Ansible maging sa Password

Upang magpatakbo ng isang maging direktiba na nangangailangan ng isang password, maaari mong sabihin sa Ansible na humingi ng isang password kapag nagsusumamo ng tinukoy na playbook.

Halimbawa, upang magpatakbo ng isang playbook na may isang password, ipasok ang utos sa ibaba:

ansible-playbook maging_pass.yml--tanong-maging-pass

Maaari mo ring tukuyin ang -K flag, na gumaganap ng mga katulad na operasyon sa utos sa itaas. Halimbawa:

ansible-playbook maging_pass.yml-TO

Kapag tinukoy, sasabihan ka para sa isang password kapag ang mga gawain ay isinasagawa.

TANDAAN : Maaari mo ring gamitin ang maging direktiba sa Ansible AD HOC raw na mga utos gamit ang -b flag. Upang matuto nang higit pa, suriin ang dokumentasyong ibinigay sa ibaba:

https://linkfy.to/becomeDocumentation

Konklusyon

Matapos basahin ang artikulong ito, dapat mo na ngayong malaman kung paano gamitin ang Ansible BECOME directive upang maisagawa ang pagtaas ng mga pribilehiyo para sa iba't ibang mga gawain.

Para sa mga kadahilanang panseguridad, mas mahusay na magpatupad ng mga paghihigpit para sa iba't ibang mga account at malinaw na tukuyin kung kailan ginagamit ang mga ito. Kaya, ang pagdaragdag ng mga pribilehiyo ay isang mahalagang aspeto ng paggamit ng sudo at su sa Ansible.