El ansible se convierte en directivo para ejecutar comandos como usuario especificado

El ansible se convierte en directivo para ejecutar comandos como usuario especificado

Usando Ansible, puede realizar varias operaciones en máquinas remotas utilizando comandos RAW o libros de jugadas Ansible. Por defecto, se ejecuta un libro de jugadas Ansible 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 Ansible.

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

La información del usuario se especifica en un libro de jugadas Ansible que usa las variables BEVE, como convertirse en_pass, para especificar la contraseña del usuario BEIND_USER, así como qué usuario puede ejecutar el comando.

Cómo ejecutar tareas ansibles como root

Para ejecutar un comando específico como el usuario raíz en Ansible, puede implementar la directiva Being y establecer el valor en 'Verdadero.'Hacer esto le dice a Ansible que implementa sudo sin argumentos al ejecutar el comando.

Por ejemplo, considere un libro de jugadas Ansible que actualiza el paquete mysql-server y luego lo reinicia. En las operaciones normales de Linux, necesitaría iniciar sesión como usuario raíz para realizar tales tareas. En Ansible, simplemente puede llamar a la Directiva convertida: Sí, como se muestra a continuación:

- Anfitriones: todos
convertirse en: si
tareas:
- Nombre: Ansible Run como SYS root y actualización
Yum:
Nombre: mysql-server
Estado: último
- nombre:
servicio.servicio:
Nombre: mysqld
Estado: reiniciado

En el libro de jugadas anterior, utilizamos la directiva Be Be y no especificamos el usuario de Becin_User, ya que cualquier comando en la Directiva Bein se ejecutan como root de forma predeterminada.

Esto es similar a especificarlo como:

- Anfitriones: todos
convertirse en: si
convertirse en_user: root
tareas:
- Nombre: Ansible Run como SYS root y actualización
Yum:
Nombre: mysql-server
Estado: último
- Nombre: Servicio.servicio:
Nombre: mysqld
Estado: reiniciado

Cómo ejecutar tareas ansibles como sudo

Para ejecutar una tarea Ansible como un usuario específico, en lugar del usuario de raíz normal, puede usar la directiva Becin_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 Beck_User, debe activar primero la Directiva Being, ya que el Becin_User es inutilizable sin esta Directiva activada.

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

- Nombre: Ejecute un comando como otro usuario (nadie)
Comando: PS Aux
hecho realidad
convertirse en_method: su
convertirse en_user: nadie
convertirse en_flags: '-s /bin /bash'

En el fragmento del libro de jugadas anterior, implementamos el convertirse, convertirse en_user y otras directivas convertirse en directivas.

  1. convertirse en_method: Esto establece el método de escalada de privilegios, como SU o sudo.
  2. Directiva de BEIN_USER: Esto especifica al usuario para ejecutar el comando como; Esto no implica convertirse: si.
  3. convertirse en_flags: 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 ver el resultado por ti mismo. Para las tareas con una salida, es posible que deba implementar el módulo de depuración.

Cómo ejecutar Ansible convertirse con contraseña

Para ejecutar una directiva para convertirse en 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 comando a continuación:

Ansible-playbook se convierte en_pass.YML --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 especificado, se le solicitará una contraseña cuando las tareas estén ejecutando.

NOTA: También puede usar la directiva convertirse en comandos sin bruto ad hoc utilizando el indicador -b. Para obtener más información, consulte la documentación que se proporciona a continuación:

https: // linkfy.a/convertirse encumentación

Conclusión

Después de leer este artículo, ahora debe saber cómo usar la directiva de Ansible Be Be 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 utilizan. Por lo tanto, la escalada de privilegios es un aspecto importante del uso de sudo y su en ansia.