Ansible

Ansible Become-direktivet för att köra kommandon som specificerad användare

Ansible Become-direktivet för att köra kommandon som specificerad användare

Med Ansible kan du utföra olika operationer på fjärrmaskiner med råa kommandon eller Ansible-spelböcker. Som standard körs en Ansible-spelbok på fjärrvärden som samma användare på Ansible-styrenheten. Det betyder att om du behöver köra ett kommando som en annan användare på fjärrmaskinen måste du ange det uttryckligen i din Ansible-spelbok.

För att implementera funktionerna för att köra kommandon som en annan användare måste du använda sudo-funktionen som är tillgänglig i Linux-system. Ansible blir direktivet låter dig köra kommandon som den angivna användaren.

Användarens information specificeras i en Ansible-spelbok med hjälp av variablerna, såsom become_pass, för att ange lösenordet för användaren become_user, samt vilken användare som kan köra kommandot.

Hur man kör synliga uppgifter som rot

För att köra ett specifikt kommando som rotanvändare i Ansible kan du implementera direktivet bli och ställa in värdet till 'sant.'Genom att göra detta ber vi Ansible att implementera sudo utan argument när du kör kommandot.

Tänk till exempel på en Ansible-spelbok som uppdaterar MySQL-serverpaketet och sedan startar om det. I normala Linux-operationer måste du logga in som rotanvändare för att utföra sådana uppgifter. I Ansible kan du helt enkelt ringa direktivet om att bli: ja, som visas nedan:

- värdar: alla
bli: ja
uppgifter:
- namn: Ansible kör som root- och uppdateringssystem
yum:
namn: mysql-server
state: senaste
- namn:
service.service:
namn: mysqld
tillstånd: startat om

I spellägen ovan använde vi direktivet och specificerade inte användaren för användar-användare, eftersom alla kommandon under direktivet körs som root som standard.

Detta liknar att specificera det som:

- värdar: alla
bli: ja
bli_användare: root
uppgifter:
- namn: Ansible körs som root- och uppdateringssystem
yum:
namn: mysql-server
state: senaste
- namn: tjänst.service:
namn: mysqld
tillstånd: startat om

Hur man kör Ansible Tasks som Sudo

För att köra en Ansible-uppgift som en specifik användare, snarare än den normala rotanvändaren, kan du använda direktivet become_user och skicka användarens användarnamn för att utföra uppgiften. Det här är som att använda kommandot sudo -u i Unix.

För att implementera Become_user-direktivet måste du först aktivera Become-direktivet, eftersom Become_user är oanvändbart utan att detta direktiv är aktiverat.

Tänk på följande spelbok, där kommandot körs som ingenanvändare.

- namn: Kör ett kommando som en annan användare (ingen)
kommando: ps aux
bli sann
bli_metod: su
bli_användare: ingen
become_flags: '-s / bin / bash'

I ovannämnda playbook-utdrag implementerade vi direktivet om att bli, bli_användare och andra.

  1. bli_metod: Detta ställer in privilegierings eskaleringsmetoden, till exempel su eller sudo.
  2. bli_användardirektiv: Detta anger att användaren ska köra kommandot som; detta innebär inte att bli: ja.
  3. bli_flagg: Detta ställer in flaggorna som ska användas för den angivna uppgiften.

Du kan nu köra spelboken ovan med filnamnet ansible-playbook.yml och se resultatet själv. För uppgifter med utdata kan du behöva implementera felsökningsmodulen.

Hur man kör Ansible blir med lösenord

För att köra ett direktiv som kräver ett lösenord kan du be Ansible att be om ett lösenord när du anropar den angivna spelboken.

Om du till exempel vill köra en spelbok med ett lösenord anger du kommandot nedan:

ansible-playbook become_pass.yml - fråga-bli-pass

Du kan också ange flaggan -K, som utför liknande operationer som ovanstående kommando. Till exempel:

ansible-playbook become_pass.yml -K

När du väl har angett kommer du att bli ombedd att ange ett lösenord när uppgifterna utförs.

NOTERA: Du kan också använda bli direktivet i Ansible AD HOC råkommandon med flaggan -b. Läs mer i dokumentationen nedan:

https: // linkfy.to / becomeDocumentation

Slutsats

Efter att ha läst den här artikeln borde du nu veta hur du använder Ansible BECOME-direktivet för att utföra behörigheter för olika uppgifter.

Av säkerhetsskäl är det bättre att implementera begränsningar för olika konton och uttryckligen ange när de används. Så eskalering av privilegier är en viktig aspekt av att använda sudo och su i Ansible.

Topp 10 spel att spela på Ubuntu
Windows-plattformen har varit en av de dominerande plattformarna för spel på grund av den enorma andelen spel som utvecklas idag för att stödja Window...
5 bästa arkadspel för Linux
Numera är datorer seriösa maskiner som används för spel. Om du inte kan få den nya poängen vet du vad jag menar. I det här inlägget kommer du att känn...
Strid om Wesnoth 1.13.6 Utveckling släppt
Strid om Wesnoth 1.13.6 släpptes förra månaden, är den sjätte utvecklingsversionen i 1.13.x-serien och den levererar ett antal förbättringar, framför ...