Erro: "sudo: no tty present and no askpass program specified"

Iniciado por eduapof, 15 de Agosto de 2018, 08:34

tópico anterior - próximo tópico

eduapof

Bom dia a todos pessoal,

Preciso de uma atenção especial de vocês para me auxiliar como escapar deste erro de acesso administrador.

Erro:  "sudo: no tty present and no askpass program specified"
Já procurei na net, mas não encontrei nada que me desse uma luz conclusiva para corrigir o problema.

Eu não sou nenhum expert em Linux, portando, peço por favor quando forem explicar algum procedimento ou alteração que preciso fazer em algum arquivo, código, etc... para passar os passo a passo. Agradeço pela prestatividade!

Bom... é o seguinte: Quando executo o comando para realização de um Backup através do Rsync, a ferramenta Webmin (via terminal Crow Job), apresenta erro dizendo que não foi especificado autorização especial de "sudo" para esta execução.
Exemplo de comando:
sudo rsync -Cravzp /mnt/HD_NAS/Contratos   /mnt/easystore/Contratos

Retorno de erro:
sudo: no tty present and no askpass program specified

O mesmo comendo executando em um terminal linux não da erro, pois eu posso executar antes o comando "sudo su" e, após isso, o comando roda liso.
Todas as tarefas e agendamentos automáticos estão sendo realizados no servidor através do Webmin, portanto não pretendo utilizar outra ferramenta somente para contornar este erro ou limitação para realização dos backups.

Vale ressaltar que eu usava o Ubuntu 16.04 e nunca tive problemas!!! Somente após instalar o 18.04 (formatando do zero e refazendo o servidor todo) o erro passo a existir.

Segue o passo a passo para ilustrar melhor o erro:

Executando o erro no Webmin:


Devido ao erro ser com o usuário, eu entrei nas configurações de usuários e grupos, pelo próprio Webmin e removi a necessidade de senha SOMENTE PARA UM TESTE. Preciso que permaneça com as devidas seguranças ativas!

Removendo a necessidade de senha:


Testando Webmin sem a necessidade de senha: (RODOU LISO - teste)


Adicionalmente, com a configuração colocada para permitir ausência de senha, outras coisas pararam de funcionar, como o SSH, por exemplo, que já possui uma configuração com autenticação entre servidores para troca de informações.
Como disse antes, não é opção deixar sem senha.

Ao voltar para a opção "Normal Password" para o usuário de teste utilizado, a ferramenta Rsync, ou qq comando sudo no terminal para de funcionar, dando o mesmo erro.

Alguma alma com uma luz no fim do túnel?

zekkerj

Você não pode usar o "sudo" com senha em um ambiente onde não seja possível fornecê-la. O caso mais comum pra isso é quando se coloca no "crontab" algum script que exige o uso de "sudo", o que parece ser o seu caso.

A solução é simples e única: você precisa configurar o arquivo "sudoers" de forma que o usuário em questão seja autorizado a executar o comando necessário no sudo, sem o uso de senha. O truque, no caso, é descobrir exatamente qual comando está sendo executado via sudo, e autorizar apenas este.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

eduapof

Citação de: zekkerj online 15 de Agosto de 2018, 09:23
Você não pode usar o "sudo" com senha em um ambiente onde não seja possível fornecê-la. O caso mais comum pra isso é quando se coloca no "crontab" algum script que exige o uso de "sudo", o que parece ser o seu caso.

A solução é simples e única: você precisa configurar o arquivo "sudoers" de forma que o usuário em questão seja autorizado a executar o comando necessário no sudo, sem o uso de senha. O truque, no caso, é descobrir exatamente qual comando está sendo executado via sudo, e autorizar apenas este.

Esta é a questão. Eu já havia notado isso.
O que não casa com essa ideia é saber que eu fazia exatamente a mesma coisa, mesmos comandos,  com o Ubuntu 16.04, e não apresentava o erro.
Na verdade eu não sei se é simplesmente a versão 16.04, ou alguma configuração estava diferente na minha distro anterior. Só sei que funcionava. Não reinstalei uma 16.04 para saber se não ocorre este problema de fato.

Mas e ai? Qual a solução. Estou perdido.
Estou procurando em fóruns gringos, mas nada conclusivo.

zekkerj

A solução é configurar o sudo... se funcionava no seu Ubuntu, de duas, uma: ou o sudo estava configurado, ou o programa era "suid", e portanto menos seguro.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D