Como executar o comando sudo sem senha no Linux

Você pode executar o comando sudo sem senha adicionando uma NOPASSWDregra à política sudoers. A abordagem mais segura é permitir apenas o comando administrativo exato que você precisa, em vez de desabilitar a solicitação de senha para todos os comandos sudo.

Antes de alterar qualquer coisa, lembre-se do que essa configuração faz: qualquer pessoa ou coisa que obtenha controle da sua conta conectada poderá executar o comando permitido como root sem uma etapa adicional de autenticação. O manual do sudoers documenta NOPASSWDessa configuração como a tag que remove a autenticação para os comandos correspondentes.

Por que sudo -s não é um método sudo sem senha?

A recomendação antiga de executar o comando sudo -snão configura o sudo sem senha. A -sopção inicia um shell com privilégios de administrador (sudo), mas a política do sudo ainda pode exigir autenticação prévia. Você também pode ver vários comandos sendo executados sem um novo prompt, porque o sudo normalmente armazena em cache a autenticação bem-sucedida por um curto período. Isso é diferente de uma NOPASSWDregra permanente.

Execute um comando sudo específico sem senha.

Este exemplo permite que o usuário alexreinicie o Nginx sem senha. Substitua o nome de usuário, o comando e os argumentos pelos valores correspondentes ao seu sistema.

1. Confirme seu nome de usuário e o caminho do comando.

Execute os seguintes comandos como seu usuário normal:

whoami
command -v systemctl

O segundo comando pode retornar /usr/bin/systemctl. Use o caminho que seu próprio sistema reporta. As regras do sudoers devem identificar os comandos pelo seu caminho completo.

Terminal Linux exibindo `whoami` e o comando `-v systemctl` para identificar o nome de usuário e o caminho completo do comando.
Verifique o nome da conta e o caminho completo do comando antes de escrever a regra sudoers.

2. Crie um arquivo de configuração dedicado para o sudoers.

Em vez de editar /etc/sudoersdiretamente, use visudocom um arquivo em /etc/sudoers.d:

sudo visudo -f /etc/sudoers.d/alex-nopasswd

Normalmente, você precisará inserir sua senha nesta etapa de configuração. O comando visudo`sudo` é preferível porque verifica a sintaxe antes de aceitar as alterações. O manual do visudo no Ubuntu também observa que ele visudobloqueia o arquivo durante a edição e verifica erros de análise sintática.

Terminal Linux abrindo um arquivo sudoers.d dedicado com sudo visudo para configuração sudo sem senha
visudoEm vez de editar o arquivo de política principal com um editor de texto comum, abra um arquivo sudoers separado .

3. Adicione a regra NOPASSWD mais restritiva possível.

Para o exemplo de reinicialização do Nginx, adicione:

alex ALL=(root) NOPASSWD: /usr/bin/systemctl restart nginx

Esta regra permite que apenas o comando com esses argumentos seja executado como root sem autenticação. Para permitir vários comandos específicos, separe as especificações dos comandos com vírgulas.

Se você deseja deliberadamente que todos os comandos sudo de um determinado usuário ignorem a autenticação, a regra geral é:

alex ALL=(ALL:ALL) NOPASSWD: ALL

Isso é muito menos seguro e raramente é a melhor opção em uma estação de trabalho ou sistema compartilhado. Uma sessão de usuário comprometida teria acesso direto a privilégios de root irrestritos.

Editor Nano mostrando uma regra sudoers NOPASSWD para reiniciar o nginx e um exemplo irrestrito comentado.
Uma regra específica para um comando é mais segura do que conceder permissão NOPASSWD: ALL.

4. Valide e teste a regra

Após salvar e sair do editor, verifique a política completa do sudoers:

sudo visudo -c

Não ignore esta verificação. A visudodocumentação explica que a política do sudoers é avaliada como um todo, portanto, verificar a configuração completa detecta problemas que podem envolver arquivos incluídos.

Em seguida, invalide quaisquer credenciais sudo armazenadas em cache e teste de forma não interativa:

sudo -k
sudo -n /usr/bin/systemctl restart nginx

A -nopção instrui o sudo a não solicitar senha. Se a regra corresponder, o comando será executado sem pedir senha. Se a autenticação ainda for necessária, o sudo será encerrado com um erro em vez de aguardar a entrada. Isso é sudo -nespecialmente útil para scripts que não podem ficar travados na solicitação de senha.

Terminal Linux validando sudoers com visudo -c, limpando credenciais em cache e testando um comando NOPASSWD com sudo -n.
Valide a política, limpe as credenciais em cache e use-as sudo -npara confirmar que o comando realmente não precisa mais de uma senha.

Solução de problemas de sudo sem senha

  • O comando ainda solicita uma senha: confirme se o nome de usuário, o caminho do comando e os argumentos correspondem exatamente à entrada do sudoers.
  • O comando não é permitido: execute sudo -lpara revisar os privilégios atribuídos à sua conta.
  • A sugestão parece estar sendo ignorada: use um nome de arquivo simples, como alex-nopasswd. Algumas configurações do sudoers ignoram arquivos /etc/sudoers.dcujos nomes contêm um ponto ou terminam com sufixos no estilo de backup.
  • Você precisa desfazer a alteração: reabra o drop-in com sudo visudo -f /etc/sudoers.d/alex-nopasswd, remova ou restrinja a regra, salve e execute sudo visudo -cnovamente.

Boas práticas

Use o sudo sem senha somente quando houver uma necessidade concreta, como uma ação de serviço rigorosamente controlada ou uma tarefa de automação. Prefira um caminho de comando e argumentos exatos, evite-os NOPASSWD: ALLsempre que possível e mantenha a regra sudoers o mais restrita possível, de acordo com o que a tarefa permitir. Isso preserva a maior parte da proteção do sudo, ao mesmo tempo que remove a solicitação de senha quando ela for realmente necessária.

Deixar um comentário

Como recuperar partições perdidas e dados do disco rígido com segurança

Como recuperar partições perdidas e dados do disco rígido com segurança

Aprenda como recuperar partições e arquivos perdidos com o TestDisk e o PhotoRec. Proteja a unidade de origem, faça a verificação com segurança e salve os dados recuperados em outro disco.

Como ler códigos QR em um computador Linux

Como ler códigos QR em um computador Linux

Escaneie códigos QR no Linux com o CoBang usando uma webcam ou um arquivo de imagem. Veja as opções de instalação, etapas de configuração e correções para acesso à câmera via Flatpak.

Como alterar as configurações da webcam no Linux com o Cameractrls

Como alterar as configurações da webcam no Linux com o Cameractrls

Altere as configurações da webcam no Linux com o Cameractrls: ajuste a exposição, a cor, a redução de cintilação e outros controles compatíveis e, em seguida, verifique os modos de vídeo compatíveis.

Como instalar o PhpStorm no Linux: Toolbox, Tar.gz, Snap e AUR

Como instalar o PhpStorm no Linux: Toolbox, Tar.gz, Snap e AUR

Instale o PhpStorm no Linux com o JetBrains Toolbox ou o arquivo tar.gz independente, além das opções Snap e Arch AUR. O Java já está incluído.

Como configurar dois painéis no XFCE 4

Como configurar dois painéis no XFCE 4

Crie um painel XFCE 4 separado para cada tela, atribua o segundo painel à saída correta, posicione-o e dimensione-o e adicione os atalhos e itens de status necessários.

Como instalar o Cisco Packet Tracer no Linux

Como instalar o Cisco Packet Tracer no Linux

Baixe o Cisco Packet Tracer 9.0.1 para Ubuntu 64 bits, instale o pacote DEB com o APT, aceite a licença no Terminal e faça login para iniciar um laboratório.

Como recortar uma imagem no Linux com o GIMP

Como recortar uma imagem no Linux com o GIMP

Remova o fundo de uma foto no Linux com o GIMP: trace o contorno do objeto, exclua o fundo selecionado, mantenha a transparência e exporte um PNG reutilizável.

Como fazer backup de um CD-ROM como um arquivo ISO no Linux

Como fazer backup de um CD-ROM como um arquivo ISO no Linux

Crie uma imagem ISO de CD-ROM no Linux com o GNOME Disks ou o comando dd. Identifique a unidade óptica, monitore a cópia, verifique a imagem e saiba quando um disco danificado ou de áudio precisa de outra ferramenta.

Baixe o FlightGear gratuitamente: Guia de Instalação Oficial

Baixe o FlightGear gratuitamente: Guia de Instalação Oficial

Baixe o FlightGear gratuitamente no site oficial. Compare os pacotes para Windows, macOS e Linux, instale os arquivos de dados e inicie seu primeiro voo.

Aplicativo Google Tasks para desktop: como usá-lo no computador

Aplicativo Google Tasks para desktop: como usá-lo no computador

Abra o Google Tasks em um navegador, adicione um atalho do Chrome ou inicie o aplicativo automaticamente e gerencie suas tarefas agendadas pelo Agenda e pelo Gmail.