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.
- bli_metode : Dette angir opptrappingsmetoden for privilegier, for eksempel su eller sudo.
- bli_brukerdirektiv : Dette spesifiserer brukeren for å kjøre kommandoen som; dette betyr ikke bli: ja.
- 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-passDu kan også spesifisere -K -flagget, som utfører lignende operasjoner som kommandoen ovenfor. For eksempel:
ansible-playbook blir_pass.yml-TILNå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.