O comando sudo, que significa “super-utilizador do“, é uma ferramenta importante no Linux que fornece aos utilizadores autorizados a capacidade de realizar tarefas administrativas com privilégios de super-utilizador. Isto permite que os utilizadores restritos acedam temporariamente a recursos que exigem privilégios elevados, melhorando a segurança do sistema. Por predefinição, cada vez que o sudo é utilizado, é pedido ao utilizador que introduza uma palavra-passe para verificar a sua identidade e obter privilégios temporários de superutilizador. Este mecanismo adiciona uma camada extra de segurança, impedindo o acesso não autorizado a funções críticas do sistema. No entanto, em alguns casos, pode querer desativar o pedido de palavra-passe para determinados comandos ou utilizadores, como por exemplo para automatizar tarefas ou simplificar a execução de comandos utilizados com frequência. Neste tutorial, vamos dar uma vista de olhos detalhada a como o sudo pode ser configurado para não exigir o pedido de palavra-passe para determinados comandos ou utilizadores, bem como exemplos práticos e cenários onde isso pode ser útil.
Observação: A desativação da solicitação de senha do sudo deve ser feita com cautela. Conceda esse privilégio apenas a usuários confiáveis e determinados comandos para garantir a segurança do sistema. Recomendamos que você leia a documentação detalhadamente antes de iniciar este procedimento.
Existem vários métodos para realizar este procedimento. Cada método será descrito abaixo em detalhes e com exemplos de código.
Método 1: solicitação de senha de desativação temporária
Se quiser desabilitar temporariamente o prompt de senha para a sessão atual, você pode usar a opção -S com sudo.
sudo -S
Método 2: desabilitando solicitação de senha para todos os comandos
Se quiser desabilitar a solicitação de senha para todos os comandos de um usuário específico, você pode adicionar uma linha mais geral no arquivo sudoers.
Passo 1: Abra o arquivo sudoers para edição:
sudo visudo
Etapa 2: adicione uma linha para desativar a solicitação de senha:
Para desativar a solicitação de senha para um usuário específico (por exemplo, jane) para todos os comandos, adicione a seguinte linha abaixo da linha Padrões :
alexhostcom ALL=(ALL) NOPASSWD: ALL
- Substitua
alexhostcom
pelo nome de usuário.
Etapa 3: salve e saia do editor
Método 3. Editando o arquivo sudoers
O arquivo sudoers, normalmente localizado em /etc/sudoers, contém a configuração para acesso sudo. Para desativar a solicitação de senha, você pode editar este arquivo.
Passo 1: Abra o arquivo sudoers para edição:
sudo visudo
Etapa 2: Encontre a linha Padrões
No arquivo sudoers, localize a linha que começa com Defaults
.
Etapa 3: adicione uma linha para desativar a solicitação de senha
Para desativar a solicitação de senha para um usuário específico (por exemplo, john) ao executar um comando específico (por exemplo, /usr/bin/command
), adicione a seguinte linha abaixo de Padrões linha:
alexhost ALL=(ALL) NOPASSWD: /usr/bin/command
Então, substitua alexhost pelo nome de usuário e /usr/bin/command pelo comando real que você deseja isentar da solicitação de senha .
Passo 4: Salve e saia do editor
Método 4: evitando solicitação de senha para usuários específicos
Para evitar completamente a solicitação de senha para um usuário específico, você pode modificar a configuração do sudo para definir um tempo limite mais longo para retenção de senha.
Etapa 1: abra o arquivo sudoers para edição
sudo visudo
Etapa 2: adicione uma linha para definir o timestamp_timeout:
Abaixo da linha Defaults, adicione a seguinte linha para definir timestamp_timeout com um valor maior (em minutos):
Defaults timestamp_timeout=30
- Este exemplo define o tempo limite para 30 minutos. Ajuste o valor conforme necessário.
Passo 3: Salve e saia do editor.
Essa alteração permitirá que os usuários executem comandos sudo sem inserir uma senha pelo período especificado após o primeiro comando sudo.