Configuração de Permissões sudo sem senha para Usuários de Serviço
Esta documentação descreve como configurar permissões sudo sem senha para um usuário específico em uma máquina Linux. Isso é particularmente útil para automatizar tarefas com Ansible, permitindo que um usuário de serviço execute comandos com privilégios elevados sem a necessidade de digitar a senha.
-
Abra o terminal.
-
Edite o arquivo sudoers usando o comando
visudo:sudo EDITOR=nano visudo
-
Adicione a regra para o seu usuário: No editor
nano, adicione a seguinte linha ao final do arquivo, substituindoseu_usuariopelo nome do usuário de serviço:seu_usuario ALL=(ALL) NOPASSWD: ALL
Por exemplo, se o nome do usuário de serviço for
nataliagranato, a linha ficaria assim:nataliagranato ALL=(ALL) NOPASSWD: ALL
-
Salve e saia do editor
nano:- Pressione
Ctrl+Xpara sair. - Pressione
Ypara confirmar a gravação das alterações. - Pressione
Enterpara salvar o arquivo com o nome original.
- Pressione
Para configurar permissões sudo sem senha em múltiplos hosts usando Ansible, você pode criar um playbook que modifique o arquivo sudoers em cada host. Aqui está um exemplo de playbook Ansible para essa tarefa:
---
- name: Configurar permissões sudo sem senha para o usuário de serviço
hosts: all
become: yes
tasks:
- name: Adicionar regra no sudoers
lineinfile:
path: /etc/sudoers
state: present
regexp: '^seu_usuario ALL=\(ALL\) NOPASSWD: ALL'
line: 'seu_usuario ALL=(ALL) NOPASSWD: ALL'
validate: 'visudo -cf %s'Substitua seu_usuario pelo nome do usuário de serviço que você deseja configurar.
-
Certifique-se de que você tem um inventário de hosts configurado: Crie um arquivo de inventário, por exemplo
hosts.ini, com o seguinte conteúdo:[all] host1 ansible_host=192.168.1.1 host2 ansible_host=192.168.1.2
-
Execute o playbook Ansible:
ansible-playbook -i hosts.ini configurar_sudoers.yml
- Automação: Permite que scripts e ferramentas de automação, como Ansible, executem tarefas administrativas sem intervenção manual.
- Eficiência: Reduz a necessidade de digitar senhas repetidamente, acelerando o processo de execução de comandos.
- Segurança: Pode ser configurado para usuários de serviço específicos, minimizando o risco de acesso não autorizado.
- Uso Restrito: A configuração deve ser aplicada apenas a usuários de serviço confiáveis e necessários para automação.
- Monitoramento: Monitore o uso de privilégios elevados para detectar qualquer atividade suspeita.
- Revisão Regular: Revise regularmente as configurações de sudoers para garantir que apenas os usuários necessários tenham permissões elevadas.
Seguindo esta documentação, você pode configurar permissões sudo sem senha para um usuário de serviço e utilizar Ansible para aplicar essa configuração em múltiplos hosts de forma eficiente e segura.