Skip to content

Instantly share code, notes, and snippets.

@nataliagranato
Last active May 19, 2025 21:55
Show Gist options
  • Select an option

  • Save nataliagranato/3b98d5b3acbc62b6b00522814e76db2f to your computer and use it in GitHub Desktop.

Select an option

Save nataliagranato/3b98d5b3acbc62b6b00522814e76db2f to your computer and use it in GitHub Desktop.

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.

Passo 1: Configurar Permissões Sudo Sem Senha

  1. Abra o terminal.

  2. Edite o arquivo sudoers usando o comando visudo:

    sudo EDITOR=nano visudo
  3. Adicione a regra para o seu usuário: No editor nano, adicione a seguinte linha ao final do arquivo, substituindo seu_usuario pelo 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
  4. Salve e saia do editor nano:

    • Pressione Ctrl+X para sair.
    • Pressione Y para confirmar a gravação das alterações.
    • Pressione Enter para salvar o arquivo com o nome original.

Passo 2: Utilizando Ansible para Configurar Permissões em Múltiplos Hosts

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.

Passo 3: Executar o Playbook Ansible

  1. 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
  2. Execute o playbook Ansible:

    ansible-playbook -i hosts.ini configurar_sudoers.yml

Benefícios de Configurar Permissões Sudo Sem Senha

  • 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.

Considerações de Segurança

  • 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment