Ansible

A diretiva Ansible Become para executar comandos como usuário especificado

A diretiva Ansible Become para executar comandos como usuário especificado

Usando o Ansible, você pode realizar várias operações em máquinas remotas usando comandos brutos ou manuais do Ansible. Por padrão, um playbook Ansible é executado no host remoto como o mesmo usuário no controlador Ansible. Isso significa que se você precisar executar um comando como outro usuário na máquina remota, precisará especificá-lo explicitamente em seu manual do Ansible.

Para implementar a funcionalidade de execução de comandos como outro usuário, você precisará usar o recurso sudo que está disponível em sistemas Linux. A diretiva Torne-se Ansible permite que você execute comandos como o usuário especificado.

As informações do usuário são especificadas em um playbook do Ansible usando as variáveis ​​se, como se torne_passar, para especificar a senha do usuário se torna_usuário, bem como qual usuário pode executar o comando.

Como executar o Ansible Tasks como Root

Para executar um comando específico como usuário root no Ansible, você pode implementar a diretiva tornar-se e definir o valor como 'true.'Fazer isso diz ao Ansible para implementar o sudo sem argumentos ao executar o comando.

Por exemplo, considere um manual do Ansible que atualiza o pacote do servidor MySQL e o reinicia. Em operações normais do Linux, você precisa fazer login como usuário root para realizar tais tarefas. No Ansible, você pode simplesmente chamar a diretiva tornar-se: sim, conforme mostrado abaixo:

- hosts: todos
tornar-se: sim
tarefas:
- nome: Ansible executado como root e sistema de atualização
yum:
nome: mysql-server
estado: mais recente
- nome:
serviço.serviço:
nome: mysqld
estado: reiniciado

No manual acima, usamos a diretiva tornou-se e não especificamos o usuário tornou-se_user, uma vez que qualquer comando na diretiva tornou-se executado como root por padrão.

Isso é semelhante a especificá-lo como:

- hosts: todos
tornar-se: sim
tornar-se_user: root
tarefas:
- nome: Ansible executado como root e sistema de atualização
yum:
nome: mysql-server
estado: mais recente
- nome: serviço.serviço:
nome: mysqld
estado: reiniciado

Como executar o Ansible Tasks como Sudo

Para executar uma tarefa Ansible como um usuário específico, em vez do usuário root normal, você pode usar a diretiva tornou-se_user e passar o nome de usuário do usuário para executar a tarefa. É como usar o comando sudo -u no Unix.

Para implementar a diretiva tornou-se_user, você deve ativar a diretiva tornar-se primeiro, pois tornou-se_user não pode ser usado sem esta diretiva ativada.

Considere o seguinte manual, no qual o comando é executado como o usuário nobody.

- nome: executa um comando como outro usuário (ninguém)
comando: ps aux
tornar verdade
tornar-se_método: su
tornar-se_usuário: ninguém
torne-se_flags: '-s / bin / bash'

No fragmento do manual acima, implementamos as diretivas tornar-se, tornar-se_usuário e outras tornar.

  1. tornar-se_metodo: Isso define o método de escalonamento de privilégios, como su ou sudo.
  2. diretiva tornar-se_usuário: Isso especifica o usuário para executar o comando; isso não implica em se tornar: sim.
  3. torne-se_flags: Isso define os sinalizadores a serem usados ​​para a tarefa especificada.

Agora você pode executar o manual acima com o nome do arquivo ansible-playbook.yml e veja o resultado por si mesmo. Para tarefas com saída, pode ser necessário implementar o módulo de depuração.

Como executar o Ansible se com senha

Para executar uma diretiva tornar-se que requer uma senha, você pode dizer ao Ansible para pedir uma senha ao invocar o manual especificado.

Por exemplo, para executar um manual com uma senha, digite o comando abaixo:

ansible-playbook torne-se_pass.yml --ask-Become-pass

Você também pode especificar o sinalizador -K, que executa operações semelhantes ao comando acima. Por exemplo:

ansible-playbook torne-se_pass.yml -K

Depois de especificado, será solicitada uma senha quando as tarefas estiverem em execução.

NOTA: Você também pode usar a diretiva tornar-se nos comandos RAW do Ansible AD HOC usando o sinalizador -b. Para saber mais, verifique a documentação fornecida abaixo:

https: // linkfy.para / se tornar a documentação

Conclusão

Depois de ler este artigo, agora você deve saber como usar a diretiva Ansible BECOME para executar o escalonamento de privilégios para várias tarefas.

Por razões de segurança, é melhor implementar restrições para várias contas e especificar explicitamente quando elas são usadas. Portanto, o escalonamento de privilégios é um aspecto importante do uso de sudo e su no Ansible.

Os 10 melhores jogos para jogar no Ubuntu
A plataforma Windows tem sido uma das plataformas dominantes para jogos devido à grande porcentagem de jogos que estão sendo desenvolvidos hoje para o...
5 melhores jogos de arcade para Linux
Hoje em dia, os computadores são máquinas sérias usadas para jogos. Se você não pode obter a nova pontuação máxima, você saberá o que quero dizer. Nes...
Batalha por Wesnoth 1.13.6 Desenvolvimento lançado
Batalha por Wesnoth 1.13.6 lançado no mês passado, é o sexto lançamento de desenvolvimento no 1.13.série x e oferece uma série de melhorias, principal...