Ansible blir direktivet om å kjøre kommandoer som spesifisert bruker

Ansible blir direktivet om å kjøre kommandoer som spesifisert bruker

Ved hjelp av Ansible kan du utføre forskjellige operasjoner på eksterne maskiner ved hjelp av rå kommandoer eller Ansible Playbooks. Som standard blir en Ansible Playbook utført på den eksterne verten som den samme brukeren på Ansible Controller. 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 Systems. Ansible blir direktiv lar deg kjøre kommandoer som den spesifiserte brukeren.

Brukerens informasjon er spesifisert i en Ansible Playbook ved å bruke GEE -variablene, for eksempel å bli_pass, for å spesifisere passordet til brukeren bli_user, samt hvilken bruker som kan kjøre kommandoen.

Hvordan du kjører skjemte oppgaver som root

For å kjøre en spesifikk kommando som rotbruker i Ansible, kan du implementere EAS -direktivet og sette verdien til 'True.'Å gjøre dette ber Ansible om å implementere sudo uten argumenter når du kjører kommandoen.

Tenk for eksempel på en Ansible Playbook som oppdaterer MySQL-Server-pakken og deretter starter den på nytt. I normale Linux -operasjoner må du logge inn som rotbruker for å utføre slike oppgaver. I Ansible kan du ganske enkelt kalle det å bli: ja -direktivet, som vist nedenfor:

- Verter: Alle
Bli: Ja
oppgaver:
- Navn: Ansible kjører som rot og oppdater Sys
yum:
Navn: MySQL-Server
Stat: Siste
- Navn:
service.service:
Navn: MySQLD
Stat: Start på nytt

I ovennevnte spillbok brukte vi EAS -direktivet og spesifiserte ikke ERE_USER -brukeren, siden eventuelle kommandoer under GEE -direktivet kjøres som root som standard.

Dette ligner på å spesifisere det som:

- Verter: Alle
Bli: Ja
bli_user: root
oppgaver:
- Navn: Ansible kjører som rot og oppdater Sys
yum:
Navn: MySQL-Server
Stat: Siste
- Navn: Service.service:
Navn: MySQLD
Stat: Start på nytt

Hvordan kjøre Ansible oppgaver som sudo

For å kjøre en Ansible -oppgave som en spesifikk bruker, i stedet for den normale rotbrukeren, kan du bruke GEE_USER -direktivet og passere brukerens brukernavn for å utføre oppgaven. Dette er ganske som å bruke Sudo -u -kommandoen i Unix.

For å implementere GEE_USER -direktivet, må du aktivere Direktivet først, ettersom ERE_USER er ubrukelig uten at dette direktivet er aktivert.

Tenk på følgende spillbok, der kommandoen kjøres som ingen bruker.

- Navn: Kjør en kommando som en annen bruker (ingen)
Kommando: PS Aux
bli: sant
bli_method: su
bli_user: Ingen
bli_flags: '-s /bin /bash'

I ovennevnte playbook -utdrag implementerte vi å bli, bli_user og andre bli direktiver.

  1. bli_metod: Dette setter Excalation -metoden for privilegium, for eksempel SU eller Sudo.
  2. bli_user -direktiv: Dette spesifiserer brukeren til å kjøre kommandoen som; Dette innebærer ikke å bli: ja.
  3. bli_flags: Dette angir flaggene som skal brukes til den spesifiserte oppgaven.

Du kan nå kjøre ovennevnte spillbok med Ansible-Playbook-filnavnet.yml og se resultatet selv. For oppgaver med en utgang, kan det hende du må implementere feilsøkemodulen.

Hvordan kjøre Ansible blir med passord

For å kjøre et bli direktiv som krever passord, kan du fortelle at du ber om et passord når du påkaller den spesifiserte spillboken.

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

Ansible-Playbook blir_pass.YML-ASK-BECOME-PASS

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

Ansible-Playbook blir_pass.yml -k

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

MERK: Du kan også bruke DEE -direktivet i Ansible Ad Hoc Raw -kommandoer ved hjelp av -B -flagget. For å lære mer, sjekk dokumentasjonen nedenfor:

https: // linkfy.å/bli dokumentasjon

Konklusjon

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

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