En este post vamos a ver, lo sencillo que es escalar privilegios. Sólo debemos usar el parámetro become.
Este parámetro puede ir en:
Nivel | Descripción |
---|---|
Línea de comando | Especificado con --become |
Playbook | Configurado con become: yes |
Inventario | Usando ansible_become=yes |
Fichero de configuración | Definido globalmente en ansible.cfg |
En caso de coincidencias, la precedencia es la siguiente:
línea de comando > playbook > inventario > fichero de configuración
Por ejemplo, si especificamos become_user: admin en un playbook pero usamos –become-user=root en la línea de comandos, la línea de comandos tendrá prioridad y se usará root.
Cuando se especifica become: yes
por defecto se usa sudo. Si queremos usar otro método (pfexec, doas, ksu, runas) debemos añadir become_method
.
En caso de querer usar otro usuario, podemos especificarlo con become_user
.
En algunas situaciones, es necesario proporcionar una contraseña para obtener privilegios elevados. En Ansible, podemos especificar la contraseña directamente desde la línea de comandos utilizando la opción --ask-become-pass
Aquí un ejemplo de uso. Crear un fichero llamado ejemplo.txt en el directorio /root/ teniendo privilegios de root.
---
- hosts: all
become: yes
tasks:
- name: Crear un archivo como root
file:
path: /root/ejemplo.txt
state: touch