"Suposto" é um julgamento.
Os comandos chamados de /etc/cron.d/ são executados como um usuário especificado ( root ou qualquer outro; ele é definido na linha cron). Então, normalmente, não há necessidade de sudo .
No entanto, se você fizer tiver um script que chame sudo , será necessário verificar se a entrada sudoers está correta. Em particular:
- Verifique se a entrada está atribuída ao usuário que está executando o script (isso pode ser
root) - Certifique-se de que a entrada tenha o atributo
NOPASSWDdefinido para que possa ser executada sem que seja necessário inserir uma senha.
O erro que você está vendo é porque o comando sudo precisa de uma senha, mas não há terminal para fornecê-la.
Um script bem escrito detectaria se ele estava sendo executado com as permissões corretas e não chamaria sudo , mas há muitos scripts ruins: -)