Si ha asegurado el acceso al script lo suficiente y ha tomado precauciones razonables, ejecutar algo desde el crontab root no suele ser un riesgo para la seguridad.
Pero no ejecute un script como root que un usuario no root puede editar o sobrescribir. Esto se aplica a los trabajos ejecutados desde cron, así como de forma interactiva.
Si ese script incluye otros archivos, también se aplica a ellos.
En caso de duda, utilice siempre el principio del menor privilegio. Si todavía no está seguro, siempre puede hacer preguntas específicas en foros y en IRC.
Siempre hay (casi) una forma de ejecutar algo como usuario no root. Si todo lo demás falla al usar sudo para limitar a un usuario a comandos específicos, también limita el potencial de hacer daño.
Entonces, con el ejemplo que dio de hacer una copia de seguridad de / etc / apache2 / sites-available, ese archivo es legible de forma predeterminada por cualquier persona, lo que implica que el acceso al destino solo se puede escribir desde la raíz.
Podrías arreglar eso por
- crear un grupo llamado backupadmins (por ejemplo)
- configura el grupo en el directorio de destino para backupadmins
- agregar un usuario llamado backupuser (por ejemplo)
- agregue el usuario backupuseruser al grupo backupadmins.
- hacer que el directorio sea escribible por el grupo backupadmins
- ejecute el trabajo cron desde el crontab de backupuser.