Na verdade, clawspoon me leva à resposta, mas deixe-me criar minha própria resposta mais completa para que ela possa flutuar até o topo.
Eu não sei quão comum é, mas algumas documentações on-line do Ubuntu dizem que o / etc / crontab pode ser sobrescrito na atualização, e a solução preferida é criar um arquivo chamado /etc/cron.d/anything (onde qualquer coisa pode ser, bem, qualquer coisa. Qualquer nome de arquivo)
Eu criei um arquivo chamado /etc/cron.d/nobody e estou colocando os scripts para serem executados como um usuário não privilegiado. linhas de exemplo:
# run the following every day at 01:02 AM
02 01 * * * nobody /usr/local/bin/script-to-run-as-nobody.sh
Eu coloquei um comentário no crontab do root para os outros seguirem, já que todos os trabalhos crontab do dia a dia estão atualmente sendo executados a partir daí. Não é exatamente a melhor prática.
Além disso, para fins de teste, preciso primeiro executar o trabalho por meio da linha de comando. desde que eu tenha sudo privlages, eu uso:
$ sudo -u root sudo -u nobody /usr/local/bin/script-to-run-as-nobody.sh
Se esse script precisar ser enviado para / dev / stderr ou / dev / stdout , faça o seguinte:
$ chmod o+w /dev/ttyp1
e faça um:
$ chmod o-w /dev/ttyp1
quando terminar de testar para impedir que qualquer pessoa envie lixo para a tela do terminal. (o terminal que você está usando pode ser diferente de / dev / tty1 , então faça um $ ls -ltr / dev / tty * | grep nome de usuário para descobrir qual deles é Sua).