Sudo – execução remota – requiretty

Todo administrador Linux já teve que executar um comando remotamente via ssh em uma máquina, mas sem efetivamente receber um terminal. Um exemplo seria testar  se a hora do servidor está correta:

$ssh host /bin/date
Sex Jul 14 14:09:34 BRT 2017

Algumas vezes esse comando requer o uso do “sudo”, você tenta executar o comando e recebe a mensagem:

$ssh host sudo systemctl restart chronyd
sudo: sorry, you must have a tty to run sudo

Para contornar esse problema, é necessário permitir que o sudo seja executado sem a existência de um terminal. Para tanto, deve-se criar um arquivo em /etc/sudoers.d:

sudo vim /etc/sudoers.d/01nome_do_usuario

Dentro deste arquivo, basta inserir a seguinte linha:

Defaults:nome_do_usuario !requiretty

Fazendo isso, estamos dizendo que o usuário nome_do_usuario pode executar o sudo sem um terminal.

É importante não liberar o uso de sudo remotamente para todos usuários, isto é uma falha de segurança. Libere somente para quem realmente precisa.

Tenha sempre em mente:

“Bloqueie tudo! So libere o necessário.”

blur bright business codes
Photo by Pixabay on Pexels.com

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s