Ansible

La directiva Ansible Become para ejecutar comandos como usuario especificado

La directiva Ansible Become para ejecutar comandos como usuario especificado

Con Ansible, puede realizar varias operaciones en máquinas remotas utilizando comandos sin procesar o libros de jugadas de Ansible. De forma predeterminada, un libro de jugadas de Ansible se ejecuta en el host remoto como el mismo usuario en el controlador Ansible. Eso significa que si necesita ejecutar un comando como otro usuario en la máquina remota, deberá especificarlo explícitamente en su libro de jugadas de Ansible.

Para implementar la funcionalidad de ejecutar comandos como otro usuario, deberá utilizar la función sudo que está disponible en los sistemas Linux. La directiva Ansible se convierte en le permite ejecutar comandos como el usuario especificado.

La información del usuario se especifica en un libro de jugadas de Ansible utilizando las variables convertidas, como Become_pass, para especificar la contraseña del usuario Become_user, así como qué usuario puede ejecutar el comando.

Cómo ejecutar tareas de Ansible como root

Para ejecutar un comando específico como usuario root en Ansible, puede implementar la directiva Become y establecer el valor en 'true.'Hacer esto le dice a Ansible que implemente sudo sin argumentos al ejecutar el comando.

Por ejemplo, considere un libro de jugadas de Ansible que actualiza el paquete del servidor MySQL y luego lo reinicia. En las operaciones normales de Linux, deberá iniciar sesión como usuario root para realizar dichas tareas. En Ansible, simplemente puede llamar a la directiva Become: yes, como se muestra a continuación:

- hosts: todos
convertirse en: si
Tareas:
- nombre: Ansible ejecutar como root y actualizar sys
mmm:
nombre: servidor mysql
estado: último
- nombre:
Servicio.Servicio:
nombre: mysqld
estado: reiniciado

En el libro de jugadas anterior, usamos la directiva Become y no especificamos el usuario Become_user, ya que cualquier comando bajo la directiva Become se ejecuta como root de forma predeterminada.

Esto es similar a especificarlo como:

- hosts: todos
convertirse en: si
Become_user: root
Tareas:
- nombre: Ansible ejecutar como root y actualizar sys
mmm:
nombre: servidor mysql
estado: último
- nombre: servicio.Servicio:
nombre: mysqld
estado: reiniciado

Cómo ejecutar tareas de Ansible como Sudo

Para ejecutar una tarea de Ansible como un usuario específico, en lugar del usuario root normal, puede usar la directiva Become_user y pasar el nombre de usuario del usuario para ejecutar la tarea. Esto es como usar el comando sudo -u en Unix.

Para implementar la directiva Become_user, primero debe activar la directiva Become, ya que Become_user no se puede utilizar sin esta directiva activada.

Considere el siguiente libro de jugadas, en el que el comando se ejecuta como el usuario de nadie.

- nombre: Ejecuta un comando como otro usuario (nadie)
comando: ps aux
hecho realidad
Become_method: su
Become_user: nadie
Convertirse en banderas: '-s / bin / bash'

En el fragmento de manual de estrategias anterior, implementamos las directivas Become, Become_user y otros convertidos.

  1. conviértase en método: Esto establece el método de escalada de privilegios, como su o sudo.
  2. directiva Become_user: Esto especifica el usuario con el que ejecutar el comando; esto no implica que se convierta en: sí.
  3. conviértete en banderas: Esto establece las banderas que se utilizarán para la tarea especificada.

Ahora puede ejecutar el libro de jugadas anterior con el nombre de archivo ansible-playbook.yml y mira el resultado por ti mismo. Para tareas con una salida, es posible que deba implementar el módulo de depuración.

Cómo ejecutar Ansible con contraseña

Para ejecutar una directiva de conversión que requiere una contraseña, puede decirle a Ansible que solicite una contraseña al invocar el libro de jugadas especificado.

Por ejemplo, para ejecutar un libro de jugadas con una contraseña, ingrese el siguiente comando:

ansible-playbook se convierte en_pass.yml --ask-Become-pass

También puede especificar el indicador -K, que realiza operaciones similares al comando anterior. Por ejemplo:

ansible-playbook se convierte en_pass.yml -K

Una vez especificada, se le pedirá una contraseña cuando las tareas se estén ejecutando.

NOTA: También puede usar la directiva Become en los comandos sin procesar de Ansible AD HOC usando el indicador -b. Para obtener más información, consulte la documentación que se proporciona a continuación:

https: // linkfy.a / convertirse en Documentación

Conclusión

Después de leer este artículo, ahora debería saber cómo usar la directiva Ansible BECOME para realizar la escalada de privilegios para varias tareas.

Por razones de seguridad, es mejor implementar restricciones para varias cuentas y especificar explícitamente cuándo se usan. Entonces, la escalada de privilegios es un aspecto importante del uso de sudo y su en Ansible.

Instale el último emulador de Dolphin para Gamecube y Wii en Linux
Dolphin Emulator te permite jugar los juegos de Gamecube y Wii que elijas en computadoras personales con Linux (PC). Al ser un emulador de juegos de ...
Cómo usar GameConqueror Cheat Engine en Linux
El artículo cubre una guía sobre el uso del motor de trucos GameConqueror en Linux. Muchos usuarios que juegan juegos en Windows a menudo usan la apli...
Los mejores emuladores de consola de juegos para Linux
Este artículo enumerará el software de emulación de consola de juegos más popular disponible para Linux. La emulación es una capa de compatibilidad de...