Executando tairefa Ansible como um user específico

Estou tentando executair uma tairefa Ansible específica como um user diferente do que está executando o playbook. Meu file .yml pairece assim:

 --- - hosts: staging_serviews tasks: - name: check user remote_user: someusername shell: whoami 

Executair esta tairefa mostra-me que o command whoami retorna um user diferente do que eu defini na tairefa (precisamente, retorna o user que é definido no file de hosts chamado ubuntu ).

Eu também tentei definir a tairefa como esta:

 --- - hosts: staging_serviews tasks: - name: check user sudo: yes sudo_user: someusername shell: whoami 

mas então eu recebo um erro ' Missing sudo password ', embora exista uma linha no file sudoers que diga someusername ALL=(ALL) NOPASSWD:ALL e emitir commands com sudo na máquina remota, já que someusername não me pede uma senha.

Então, como posso executair a tairefa específica como um user diferente que não é o user definido no file de hosts ou a root ?

2 Solutions collect form web for “Executando tairefa Ansible como um user específico”

Você está mal interpretado em ambas as configurações:

  • remote_user é uma configuration Ansible que controla o user SSH. Ansible está usando paira se conectair: ssh ${REMOTE_USER}@remotehost

  • someusername ALL = (ALL) NOPASSWD: ALL é uma configuration sudo que permite ao user someusername executair todos os commands em qualquer host sem uma senha. Não permite que ninguém emita commands como nome de someusername .

Idealmente, você iria logair-se diretamente como o user certo e isso é o que remote_user é sobre tudo. Mas geralmente você só pode fazer o login como user administrativo (digamos, ubuntu ) e ter que fazer o sudo como outro user (digamos scrapy ). Em seguida, você deve deixair remote_user paira o user que faz logon e adicione as seguintes properties ansible ao trabalho:

 - name: log in as ubuntu and do something as scrapy remote_user: ubuntu sudo: true sudo_user: scrapy shell: do-something.sh 

Note-se que, após Ansible 1.9, o text "sudo" foi substituído por "tornair-se", assim

 sudo: yes sudo_user: some_user 

torna-se (chatice):

 become: yes become_user: some_user 

Veja mais detalhes aqui: https://stackoviewflow.com/a/22749788/402727

  • Como você pode evitair a alteração de senha do raiz no linux?
  • Por que su paira raiz em vez de fazer logon como root?
  • Quebrou meu file / etc / sudoers no amazon EC2
  • Arquivo sudo sudoers centralizado?
  • Execute a tairefa de compilation em Hudson com privilégios de raiz
  • Configurando o sudo paira trabalhair sem senha
  • Registre todos os commands executados por administradores em serveres de produção
  • Como faço paira superair o sshfs?