Como executar o Ansible com comandos sudo no password com sintaxe tornar-se


8

Quando executo ansible em uma máquina host que possui alguns comandos que preciso executar como root, não posso executá-los com "torne" porque executa os comandos como root em vez de apenas executá-los com o sudo.

O que venho fazendo é apenas usar command: sudo ... e suprimir avisos com

args: 
  warn: no

existe uma maneira melhor e mais padronizada de executar uma linha de comando do linux com sudo sans password?


Qual é a verdadeira razão disso? É possível usar sudosob o capô quando você executa uma tarefa com become.
— Konstantin Suvorov

11
@kon quando uso becomerecebo "msg": "Missing sudo password"por uma razão de falha #
— Peter Turner

Respostas:


6

Quando executo ansible em uma máquina host que possui alguns comandos que preciso executar como root, não posso executá-los com "torne" porque executa os comandos como root em vez de apenas executá-los com o sudo.

Isso não é verdade; becomeusa uma variedade de métodos para escalonamento de privilégios e o padrão é usar sudo.

Você talvez esteja enfrentando uma das limitações conhecidas do módulo tornar-se , como tentar limitar o acesso ao sudo a determinados comandos ?


Bem, isso parece ser uma das limitações do ansible, quando eu corro -vvv, está fazendo sudo -H -S -n -u root /bin/sh -c 'bunch of stuff'. Eu imaginei que ele poderia executar o comando que eu quero com privilégios de sudo, mas acho que isso é um pouco ingênuo, pois ele precisa executar 1000 outros tipos de comandos com root de uma maneira mais geral.
— Peter Turner

2

Você já tentou -K? Eu sempre uso esta opção e, em seguida, uma senha sudo deve ser inserida


Sim, o problema é que o usuário ssh que estou usando não tem direitos para iniciar um shell como root, apenas para os comandos que desejo executar via ansible.
— Peter Turner

Eu não acho que seja possível executar comandos como root se o usuário não puder iniciar um shell tão root quanto o ansible estiver basicamente executando comandos via ssh.
— 030
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.