Respondendo a minha própria pergunta.
Uma das soluções seria
Editando (como root) o arquivo
/etc/sudoers
E comentando a linha que diz:
Defaults requiretty
Eu tenho um script pequeno e quero executá-lo como user1 no cron. Se eu estou logado como user1 e executar o script, ele funciona muito bem, mas no momento em que tento executá-lo no cron, ele não funciona. Se eu executar o cron como root tudo funciona. Aqui está o que estou fazendo
O script tem o comando abaixo
sudo virsh list --all | grep myvm | awk '{print $3}'
running
Então, se eu executar como user1 ou colocar isso em um arquivo, tudo simplesmente funciona. Mas eu adiciono como
*/5 * * * * user1 /path/to/script
Se eu rodar como root no cron ele funciona sem sudo * * * * * root / path / to / script
Meu arquivo Sudoers
Cmnd_Alias KVMCMD = /usr/bin/virsh list --all
%user1 ALL=(ROOT) NOPASSWD: KVMCMD
Eu diretamente não posso culpar os sudoers como manualmente executando o comando funciona (pode ser por causa do tty)
Respondendo a minha própria pergunta.
Uma das soluções seria
Editando (como root) o arquivo
/etc/sudoers
E comentando a linha que diz:
Defaults requiretty