Smernica o možnom postavení sa môže spúšťať príkazy ako určený používateľ

Ansible Become Directive Run Commands



Pomocou hry Ansible môžete na vzdialených počítačoch vykonávať rôzne operácie pomocou nespracovaných príkazov alebo herných zošitov Ansible. V predvolenom nastavení sa anbook playbook spustí na vzdialenom hostiteľovi ako ten istý používateľ na ovládači Ansible. To znamená, že ak potrebujete na vzdialenom počítači spustiť príkaz ako iný používateľ, budete ho musieť výslovne zadať vo svojom playbooku Ansible.

Na implementáciu funkcií spúšťania príkazov ako iného používateľa budete musieť použiť funkciu sudo, ktorá je k dispozícii v systémoch Linux. Smernica Ansible stal vám umožňuje spúšťať príkazy ako zadaný používateľ.







Informácie o používateľovi sú uvedené v hernom zošite Ansible pomocou premenných stať sa, ako napríklad stať sa_prom, na zadanie hesla používateľa stať sa_užívateľom a toho, ktorý používateľ môže príkaz spustiť.



Ako spustiť možné úlohy ako root

Ak chcete spustiť konkrétny príkaz ako užívateľ root v programe Ansible, môžete implementovať direktívu stať sa a nastaviť hodnotu na hodnotu „true“. Ak tak urobíte, Ansible bude pri spustení príkazu implementovať sudo bez argumentov.



Zoberme si napríklad playlist Ansible, ktorý aktualizuje balík servera MySQL a potom ho reštartuje. Pri bežných operáciách Linuxu by ste sa na vykonávanie týchto úloh museli prihlásiť ako užívateľ root. V Ansible môžete jednoducho nazvať direktívu stať sa: áno, ako je uvedené nižšie:





- hostitelia: všetci

stať sa:Áno

úlohy:

- názov: Možný behakokoreňový a aktualizačný systém

mňam:

názov: mysql-server

stav: najnovšie

- názov:

service.service:
názov: mysqld

stav: reštartovaný

Vo vyššie uvedenom playbooku sme použili direktívu stať sa a nešpecifikovali sme používateľa stať sa_uživatelom, pretože všetky príkazy pod smernicou stať sa štandardne spúšťajú ako root.

Je to podobné, ako keby ste to špecifikovali ako:



- hostitelia: všetci

stať sa:Áno

stať sa_užívateľom: root

úlohy:

- názov: Možný behakokoreňový a aktualizačný systém

mňam:
názov: mysql-server

stav: najnovšie

- názov: service.service:

názov: mysqld

stav: reštartovaný

Ako spustiť možné úlohy ako Sudo

Ak chcete spustiť úlohu Ansible ako konkrétny používateľ, a nie ako bežný užívateľ root, môžete použiť direktívu become_user a na vykonanie úlohy zadať používateľské meno používateľa. Je to niečo podobné ako používať príkaz sudo -u v Unixe.

Ak chcete implementovať smernicu stal_user, musíte najskôr aktivovať direktívu stať sa, pretože bez aktivácie tejto direktívy je parameter stal_user nepoužiteľný.

Predstavme si nasledujúci playbook, v ktorom je príkaz spustený ako používateľ nikto.

- názov: Spustite apríkaz akoiný užívateľ(nikto)
príkaz:psz

stať sa:pravda

stať sa_metódou:jeho

stať sa_užívateľom: nikto

stať sa vlajkami:'-s /bin /bash'

Vo vyššie uvedenom úryvku príručky sme implementovali smernice stal, stal sa_uživatel a ďalšie sa stali smernicami.

  1. stať sa_metódou : Toto nastavuje metódu eskalácie privilégií, napríklad su alebo sudo.
  2. direktíva stať sa_užívateľom : Toto určuje, že používateľ má príkaz spustiť ako; to neznamená, že sa stane: áno.
  3. stať sa vlajkami : Toto nastavuje vlajky, ktoré sa majú použiť pre zadanú úlohu.

Vyššie uvedenú príručku teraz môžete spustiť s názvom súboru ansible-playbook filename.yml a výsledok uvidíte sami. Pri úlohách s výstupom bude možno potrebné implementovať ladiaci modul.

Ako sa spustiť Ansible stane s heslom

Ak chcete spustiť smernicu, ktorá vyžaduje heslo, môžete povedať Ansible, aby požiadala o heslo pri vyvolaní určeného playbooku.

Ak napríklad chcete spustiť knihu s heslom, zadajte nasledujúci príkaz:

ansible-playbook become_pass.yml--požiadajte sa

Môžete tiež zadať príznak -K, ktorý vykonáva podobné operácie ako vyššie uvedený príkaz. Napríklad:

ansible-playbook become_pass.yml-K

Po zadaní úlohy budete pri vykonávaní úloh vyzvaní na zadanie hesla.

POZNÁMKA : Direktívu stať sa môžete použiť aj v príkazoch Ansible AD HOC raw pomocou príznaku -b. Ak sa chcete dozvedieť viac, pozrite sa na nižšie uvedenú dokumentáciu:

https://linkfy.to/becomeDocumentation

Záver

Po prečítaní tohto článku by ste teraz mali vedieť, ako používať direktívu Ansible BECOME na eskaláciu oprávnení pre rôzne úlohy.

Z bezpečnostných dôvodov je lepšie implementovať obmedzenia pre rôzne účty a výslovne určiť, kedy sa používajú. Zvýšenie oprávnení je teda dôležitým aspektom používania sudo a su v programe Ansible.