Ansible blir direktiv for å kjøre kommandoer som spesifisert bruker

Ansible Become Directive Run Commands



Ved å bruke Ansible kan du utføre forskjellige operasjoner på eksterne maskiner ved hjelp av råkommandoer eller Ansible -spillbøker. Som standard kjøres en Ansible -spillbok på den eksterne verten som den samme brukeren på Ansible -kontrolleren. Det betyr at hvis du trenger å kjøre en kommando som en annen bruker på den eksterne maskinen, må du spesifisere den eksplisitt i Ansible playbook.

For å implementere funksjonaliteten til å kjøre kommandoer som en annen bruker, må du bruke sudo -funksjonen som er tilgjengelig i Linux -systemer. Ansible word -direktivet lar deg kjøre kommandoer som den angitte brukeren.







Brukerens informasjon er spesifisert i en Ansible playbook ved hjelp av bli -variablene, for eksempel bli_pass, for å spesifisere passordet til brukeren bli_bruker, samt hvilken bruker som kan kjøre kommandoen.



Slik kjører du ansvarlige oppgaver som rot

For å kjøre en bestemt kommando som rotbruker i Ansible, kan du implementere word -direktivet og sette verdien til 'true.' Hvis du gjør dette, forteller Ansible å implementere sudo uten argumenter når du kjører kommandoen.



Vurder for eksempel en Ansible playbook som oppdaterer MySQL-serverpakken og deretter starter den på nytt. I vanlige Linux -operasjoner må du logge deg på som rotbruker for å utføre slike oppgaver. I Ansible kan du ganske enkelt kalle direktivet for bli: ja, som vist nedenfor:





- verter: alle

bli til:ja

oppgaver:

- navn: Ansible runsomroot og oppdater sys

nam:

navn: mysql-server

stat: siste

- Navn:

service.service:
navn: mysqld

tilstand: startet på nytt

I den ovennevnte spillboken brukte vi direktivet til bli og spesifiserte ikke brukeren bli_bruker, siden alle kommandoer under bli -direktivet kjøres som root som standard.

Dette ligner på å spesifisere det som:



- verter: alle

bli til:ja

blir_bruker: root

oppgaver:

- navn: Ansible runsomroot og oppdater sys

nam:
navn: mysql-server

stat: siste

- navn: service.service:

navn: mysqld

tilstand: startet på nytt

Slik kjører du ansvarlige oppgaver som Sudo

For å kjøre en Ansible -oppgave som en spesifikk bruker, i stedet for den vanlige rotbrukeren, kan du bruke word_user -direktivet og sende brukerens brukernavn til å utføre oppgaven. Dette er ganske som å bruke sudo -u -kommandoen i Unix.

For å implementere bli -bruker -direktivet må du aktivere bli -direktivet først, ettersom blitt_bruker er ubrukelig uten at dette direktivet er aktivert.

Vurder følgende spillebok, der kommandoen kjøres som ingen -bruker.

- navn: Kjør akommando somen annen bruker(ingen)
kommando:psav

bli til:ekte

bli_metode:det er

bli_bruker: ingen

bli_flagg:'-s /bin /bash'

I den ovennevnte lekebokbiten implementerte vi direktivene om blitt, blitt_bruker og andre til å bli.

  1. bli_metode : Dette angir opptrappingsmetoden for privilegier, for eksempel su eller sudo.
  2. bli_brukerdirektiv : Dette spesifiserer brukeren for å kjøre kommandoen som; dette betyr ikke bli: ja.
  3. bli_flagg : Dette angir flaggene som skal brukes for den angitte oppgaven.

Du kan nå kjøre spillboken ovenfor med ansible-playbook filnavn.yml og se resultatet selv. For oppgaver med utdata må du kanskje implementere feilsøkingsmodulen.

Hvordan kjøre Ansible blir med passord

For å kjøre et bli -direktiv som krever passord, kan du be Ansible om å be om et passord når du påkaller den angitte spillboken.

For eksempel, for å kjøre en spillbok med et passord, skriver du inn kommandoen nedenfor:

ansible-playbook blir_pass.yml-spør-bli-pass

Du kan også spesifisere -K -flagget, som utfører lignende operasjoner som kommandoen ovenfor. For eksempel:

ansible-playbook blir_pass.yml-TIL

Når det er spesifisert, blir du bedt om å angi et passord når oppgavene utføres.

MERK : Du kan også bruke bli -direktivet i Ansible AD HOC raw -kommandoer ved å bruke -b -flagget. For å lære mer, sjekk dokumentasjonen nedenfor:

https://linkfy.to/becomeDocumentation

Konklusjon

Etter å ha lest denne artikkelen, bør du nå vite hvordan du bruker Ansible BLI -direktivet til å utføre opptrapping av privilegier for forskjellige oppgaver.

Av sikkerhetsmessige årsaker er det bedre å implementere begrensninger for forskjellige kontoer og eksplisitt angi når de brukes. Så eskalering av privilegier er et viktig aspekt ved bruk av sudo og su i Ansible.