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:sí
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:sí
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.
- esdevenir_mètode : Estableix el mètode d'escalada de privilegis, com ara su o sudo.
- directiva esdevenir_usuari : Especifica l'usuari per executar l'ordre com; això no implica convertir-se en: sí.
- 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-passarTambé podeu especificar el senyalador -K, que realitza operacions similars a l'ordre anterior. Per exemple:
ansible-playbook become_pass.yml-TOUn 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.