Se você garantiu o acesso suficiente ao script e tomou precauções sensatas, executar algo do roots crontab geralmente não é um risco à segurança.
Mas não execute um script como root que um usuário não root possa editar ou substituir. Isso se aplica aos trabalhos executados a partir do cron, bem como interativamente.
Se esse script incluir outros arquivos, o mesmo se aplicará a eles também.
Em caso de dúvida, use sempre o princípio do menor privilégio. Se você ainda não tiver certeza, sempre poderá fazer perguntas específicas nos fóruns e no IRC.
Sempre existe (quase) uma maneira de executar algo como um usuário não root. Se tudo mais falhar, o uso do sudo para limitar um usuário a comandos específicos também limitará o potencial de causar danos.
Portanto, com o exemplo que você deu do backup de / etc / apache2 / sites-available, esse arquivo é legível por padrão por qualquer pessoa, o que implica que é o acesso ao destino que pode ser gravado somente pela raiz.
Você poderia consertar isso
- crie um grupo chamado backupadmins (por exemplo)
- defina o grupo no diretório de destino para backupadmins
- adicione um usuário chamado backupuser (por exemplo)
- adicione o usuário backupuser ao grupo backupadmins.
- torne o diretório gravável pelo grupo backupadmins
- execute o trabalho cron a partir do crontab do backupuser.