La Directiva Ansible es converteix en executar ordres com a usuari especificat

Ansible Become Directive Run Commands



Utilitzant Ansible, podeu realitzar diverses operacions en màquines remotes mitjançant ordres en brut o llibres de reproducció Ansible. Per defecte, s'executa un llibre de reproducció Ansible a l'amfitrió remot que el mateix usuari al controlador Ansible. Això vol dir que si heu d'executar una ordre com un altre usuari a la màquina remota, l'haureu d'especificar explícitament al vostre llibre de joc Ansible.

Per implementar la funcionalitat d'execució d'ordres com un altre usuari, haureu d'utilitzar la funció sudo disponible als sistemes Linux. La directiva Ansible become us permet executar ordres com a usuari especificat.







La informació de l’usuari s’especifica en un llibre de joc Ansible mitjançant les variables convertides, com ara convertir-se, per especificar la contrasenya de l’usuari esdevenir usuari, així com quin usuari pot executar l’ordre.



Com executar les tasques Ansible com a arrel

Per executar una ordre específica com a usuari root a Ansible, podeu implementar la directiva esdevenir i establir el valor a 'true'. En fer-ho, Ansible implementarà sudo sense arguments en executar l'ordre.



Per exemple, penseu en un llibre de joc Ansible que actualitzi el paquet MySQL-server i el reiniciï. En operacions normals de Linux, haureu d’iniciar sessió com a usuari root per realitzar aquestes tasques. A Ansible, podeu trucar directament a la directiva convertit: sí, com es mostra a continuació:





- amfitrions: tots

tornar-se:

tasques:

- nom: Ansible runcomroot i actualitzeu sys

sí:

nom: mysql-server

estat: últim

- nom:

servei.servici:
nom: mysqld

state: reiniciat

Al llibre de reproducció anterior, hem utilitzat la directiva convertida i no hem especificat l’usuari convertit-usuari, ja que qualsevol ordre de la directiva convertida s’executa com a root per defecte.

Això és similar a especificar-lo com:



- amfitrions: tots

tornar-se:

esdevenir_usuari: arrel

tasques:

- nom: Ansible runcomroot i actualitzeu sys

sí:
nom: mysql-server

estat: últim

- nom: servei.servici:

nom: mysqld

state: reiniciat

Com executar les tasques Ansible com a Sudo

Per executar una tasca Ansible com a usuari específic, en lloc de fer servir l'usuari root normal, podeu utilitzar la directiva become_user i passar el nom d'usuari de l'usuari per executar la tasca. Això és com utilitzar l'ordre sudo -u a Unix.

Per implementar la directiva esdevenir_usuari, primer heu d'activar la directiva esdevenir, ja que el convertit_usuari no es pot utilitzar sense que aquesta directiva estigui activada.

Penseu en el següent llibre de reproducció, en què l'ordre s'executa com l'usuari de ningú.

- nom: executeu uncomandament comun altre usuari(ningú)
comandament:psde

tornar-se:cert

esdevenir_mètode:seva

esdevenir_usuari: ningú

esdevenir_banderes:'-s / bin / bash'

Al fragment de llibre de reproducció anterior, vam implementar les directives de convertir-se, esdevenir_usuari i altres.

  1. esdevenir_mètode : Estableix el mètode d'escalada de privilegis, com ara su o sudo.
  2. directiva esdevenir_usuari : Especifica l'usuari per executar l'ordre com; això no implica convertir-se en: sí.
  3. esdevenir_banderes : Estableix els indicadors que s'utilitzaran per a la tasca especificada.

Ara podeu executar el llibre de joc anterior amb ansible-playbook filename.yml i veure’n el resultat. Per a tasques amb sortida, és possible que hàgiu d'implementar el mòdul de depuració.

Com executar Ansible convertit amb contrasenya

Per executar una directiva convertida que requereix una contrasenya, podeu dir a Ansible que demani una contrasenya en invocar el llibre de reproducció especificat.

Per exemple, per executar un llibre de reproducció amb una contrasenya, introduïu l'ordre següent:

ansible-playbook become_pass.yml--ask-esdevenir-passar

També podeu especificar el senyalador -K, que realitza operacions similars a l'ordre anterior. Per exemple:

ansible-playbook become_pass.yml-TO

Un cop especificat, se us demanarà una contrasenya quan s’executin les tasques.

NOTA : També podeu fer servir la directiva convert a les ordres RA Ansible AD HOC mitjançant el senyalador -b. Per obtenir més informació, consulteu la documentació que es proporciona a continuació:

https://linkfy.to/becomeDocumentation

Conclusió

Després de llegir aquest article, ara hauríeu de saber com utilitzar la directiva Ansible BECOME per realitzar una escalada de privilegis per a diverses tasques.

Per motius de seguretat, és millor implementar restriccions per a diversos comptes i especificar explícitament quan s’utilitzen. Per tant, l’escalada de privilegis és un aspecte important de l’ús de sudo i su a Ansible.