Cómo ejecutar Ansible con sudo sin comandos de contraseña con convertido en sintaxis

8

Cuando ejecuto ansible contra una máquina host que tiene algunos comandos que necesito ejecutar como root, no puedo ejecutarlos con "Become" porque ejecuta los comandos como root en lugar de simplemente ejecutarlos con sudo.

Lo que he estado haciendo es usar command: sudo ... y luego suprimir las advertencias con

args: 
  warn: no

¿Hay una manera mejor y más estandarizada de ejecutar una línea de comandos de Linux con sudo sans password?

Peter Turner
fuente
¿Cuál es la verdadera razón de esto? Uso ansioso sudodebajo del capó cuando ejecuta la tarea con become.
Konstantin Suvorov
1
@kon cuando uso becomeme sale "msg": "Missing sudo password"por una razón de falla
Peter Turner

Respuestas:

6

Cuando ejecuto ansible contra una máquina host que tiene algunos comandos que necesito ejecutar como root, no puedo ejecutarlos con "Become" porque ejecuta los comandos como root en lugar de simplemente ejecutarlos con sudo.

Eso no es cierto; becomeusa una variedad de métodos para la escalada de privilegios y el uso predeterminado sudo.

¿Quizás se encuentre con una de las limitaciones conocidas con el módulo convertido , como intentar limitar el acceso de sudo a ciertos comandos ?

Xiong Chiamiov
fuente
Bueno, esto parece una de las limitaciones de ansible, cuando ejecuto -vvv lo está haciendo sudo -H -S -n -u root /bin/sh -c 'bunch of stuff'. Pensé que podría ejecutar el comando que quiero con privilegios de sudo, pero supongo que es un poco ingenuo ya que necesita ejecutar otros 1000 tipos de comandos con root de una manera más general.
Peter Turner
2

¿Ya probaste -K? Siempre uso esta opción y luego se debe ingresar una contraseña de sudo

030
fuente
sí, el problema es que el usuario ssh que estoy usando no tiene derechos para iniciar un shell como root, solo para los comandos que quiero ejecutar a través de ansible.
Peter Turner
No creo que sea posible ejecutar comandos como root si el usuario no puede iniciar un shell ya que root como ansible básicamente está ejecutando comandos a través de ssh.
030