Ansible

De Ansible wordt richtlijn om opdrachten uit te voeren als opgegeven gebruiker

De Ansible wordt richtlijn om opdrachten uit te voeren als opgegeven gebruiker

Met Ansible kunt u verschillende bewerkingen uitvoeren op externe machines met behulp van onbewerkte opdrachten of Ansible-playbooks. Standaard wordt een Ansible-playbook uitgevoerd op de externe host als dezelfde gebruiker op de Ansible-controller. Dat betekent dat als u een opdracht als een andere gebruiker op de externe computer moet uitvoeren, u dit expliciet moet specificeren in uw Ansible-playbook.

Om de functionaliteit van het uitvoeren van opdrachten als een andere gebruiker te implementeren, moet u de sudo-functie gebruiken die beschikbaar is in Linux-systemen. Met de Ansible word-richtlijn kunt u opdrachten uitvoeren als de opgegeven gebruiker.

De informatie van de gebruiker wordt gespecificeerd in een Ansible-playbook met behulp van de variabelen word, zoals word_pass, om het wachtwoord van de gebruiker word_user op te geven, evenals welke gebruiker de opdracht kan uitvoeren.

Hoe Ansible-taken als root uit te voeren

Om een ​​specifieke opdracht uit te voeren als de rootgebruiker in Ansible, kun je de word-richtlijn implementeren en de waarde instellen op 'true.' Door dit te doen, vertelt Ansible om sudo te implementeren zonder argumenten bij het uitvoeren van de opdracht.

Overweeg bijvoorbeeld een Ansible-playbook dat het MySQL-serverpakket bijwerkt en vervolgens opnieuw opstart. Bij normale Linux-bewerkingen zou u moeten inloggen als de rootgebruiker om dergelijke taken uit te voeren. In Ansible kun je de word: yes-richtlijn gewoon aanroepen, zoals hieronder weergegeven:

- hosts: alle
worden: ja
taken:
- naam: Ansible als root uitvoeren en sys bijwerken
jammie:
naam: mysql-server
staat: laatste
- naam:
onderhoud.onderhoud:
naam: mysqld
staat: herstart

In het bovenstaande playbook hebben we de word-instructie gebruikt en hebben we de gebruiker word_user niet gespecificeerd, omdat alle opdrachten onder de word-richtlijn standaard als root worden uitgevoerd.

Dit is vergelijkbaar met het specificeren als:

- hosts: alle
worden: ja
word_gebruiker: root
taken:
- naam: Ansible als root uitvoeren en sys bijwerken
jammie:
naam: mysql-server
staat: laatste
- naam:dienst.onderhoud:
naam: mysqld
staat: herstart

Ansible-taken uitvoeren als Sudo

Om een ​​Ansible-taak uit te voeren als een specifieke gebruiker, in plaats van de normale root-gebruiker, kunt u de instructie being_user gebruiken en de gebruikersnaam van de gebruiker doorgeven om de taak uit te voeren. Dit lijkt veel op het gebruik van de opdracht sudo -u in Unix.

Om de word_user-richtlijn te implementeren, moet u eerst de word-richtlijn activeren, omdat de word_user onbruikbaar is zonder dat deze richtlijn geactiveerd is.

Beschouw het volgende playbook, waarin de opdracht wordt uitgevoerd als de niemand-gebruiker:.

- naam: voer een opdracht uit als een andere gebruiker (niemand)
commando: ps aux
worden: waar
word_methode: su
word_user: niemand
word_flags: '-s /bin/bash'

In het bovenstaande playbook-fragment hebben we de word-, word_user- en andere word-richtlijnen geïmplementeerd.

  1. worden_methode: Dit stelt de escalatiemethode voor bevoegdheden in, zoals su of sudo.
  2. word_user richtlijn: Dit specificeert de gebruiker om de opdracht uit te voeren als; dit betekent niet: ja.
  3. word_flags: Dit stelt de vlaggen in die moeten worden gebruikt voor de opgegeven taak.

U kunt nu het bovenstaande playbook uitvoeren met de ansible-playbook-bestandsnaam.yml en zie zelf het resultaat. Voor taken met een uitvoer, moet u mogelijk de debug-module implementeren.

Hoe Ansible uit te voeren wordt met wachtwoord

Als je een word-instructie wilt uitvoeren waarvoor een wachtwoord is vereist, kun je Ansible vertellen om een ​​wachtwoord te vragen bij het aanroepen van het opgegeven playbook.

Als u bijvoorbeeld een playbook met een wachtwoord wilt uitvoeren, voert u de onderstaande opdracht in:

ansible-playbook geworden_pass.yml --vraag-word-pass

U kunt ook de vlag -K specificeren, die soortgelijke bewerkingen uitvoert als de bovenstaande opdracht. Bijvoorbeeld:

ansible-playbook geworden_pass.yml -K

Eenmaal opgegeven, wordt u om een ​​wachtwoord gevraagd wanneer de taken worden uitgevoerd.

OPMERKING: U kunt de word-richtlijn ook gebruiken in onbewerkte Ansible AD HOC-opdrachten met behulp van de vlag -b. Bekijk de onderstaande documentatie voor meer informatie:

https://linkfy.tot/wordenDocumentatie

Conclusie

Na het lezen van dit artikel, zou u nu moeten weten hoe u de Ansible BECOME-richtlijn moet gebruiken om privilege-escalatie uit te voeren voor verschillende taken.

Om veiligheidsredenen is het beter om voor verschillende accounts beperkingen in te voeren en expliciet aan te geven wanneer ze worden gebruikt. Escalatie van bevoegdheden is dus een belangrijk aspect van het gebruik van sudo en su in Ansible.

HD Remastered Games voor Linux die nog nooit eerder een Linux-release hebben gehad
Veel game-ontwikkelaars en uitgevers komen met HD-remaster van oude games om de levensduur van franchise te verlengen, fans die compatibiliteit met mo...
Hoe AutoKey te gebruiken om Linux-spellen te automatiseren
AutoKey is een hulpprogramma voor desktopautomatisering voor Linux en X11, geprogrammeerd in Python 3, GTK en Qt. Met behulp van de scripting- en MACR...
Hoe FPS-teller in Linux-games te tonen
Linux-gaming kreeg een grote duw toen Valve in 2012 Linux-ondersteuning voor Steam-client en hun games aankondigde. Sindsdien hebben veel AAA- en indi...