Ansible

Ansible Become-direktivet for å kjøre kommandoer som spesifisert bruker

Ansible Become-direktivet for å 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 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-spillboken.

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

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

Hvordan kjøre synlige oppgaver som rot

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

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

- verter: alle
bli: ja
oppgaver:
- navn: Ansible kjøres som root og oppdater sys
yum:
navn: mysql-server
tilstand: siste
- Navn:
service.service:
navn: mysqld
tilstand: startet på nytt

I spillboken ovenfor brukte vi bli direktivet og spesifiserte ikke brukeren bruker, siden alle kommandoer under direktivet blir kjørt som root som standard.

Dette ligner på å spesifisere det som:

- verter: alle
bli: ja
bli_bruker: rot
oppgaver:
- navn: Ansible kjøres som root og oppdater sys
yum:
navn: mysql-server
tilstand: siste
- navn: tjeneste.service:
navn: mysqld
tilstand: startet på nytt

Hvordan kjøre brukbare oppgaver som Sudo

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

For å implementere blitt_brukerdirektivet, må du aktivere bli direktivet først, da blir_bruker 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: sann
bli_metode: su
blitt_bruker: ingen
blitt_flags: '-s / bin / bash'

I den ovennevnte utdraget av spillboken implementerte vi direktivet om bli, bli_bruker og annet.

  1. bli_metode: Dette angir metode for opptrapping av privilegier, for eksempel su eller sudo.
  2. blir_brukerdirektivet: Dette spesifiserer at brukeren skal kjøre kommandoen som; dette innebærer ikke blitt: ja.
  3. bli_flagg: Dette angir flaggene som skal brukes til den angitte oppgaven.

Du kan nå kjøre spillboken ovenfor med ansible-playbook-filnavnet.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 direktiv som krever et 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, skriv 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 -K

Når du har angitt, blir du bedt om å oppgi et passord når oppgavene utføres.

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

https: // linkfy.til / bli Dokumentasjon

Konklusjon

Etter å ha lest denne artikkelen, bør du nå vite hvordan du bruker Ansible BECOME-direktivet for å utføre rettighetsopptrapping for forskjellige oppgaver.

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

Hvordan utvikle et spill på Linux
For et tiår siden ville ikke mange Linux-brukere forutsi at deres favorittoperativsystem en dag ville være en populær spillplattform for kommersielle ...
Åpne kildeporter for kommersielle spillmotorer
Gratis, åpen kildekode og plattformspillmotorrekreasjoner kan brukes til å spille gamle så vel som noen av de ganske nylige spilletitlene. Denne artik...
Beste kommandolinjespill for Linux
Kommandolinjen er ikke bare din største allierte når du bruker Linux, den kan også være kilden til underholdning fordi du kan bruke den til å spille m...