Jika Anda telah mengamankan akses ke skrip dengan cukup dan melakukan tindakan pencegahan yang masuk akal, menjalankan sesuatu dari root crontab biasanya bukan risiko keamanan.
Tetapi jangan menjalankan skrip sebagai root yang dapat diedit atau ditimpa oleh pengguna non root. Ini berlaku untuk pekerjaan yang dijalankan dari cron dan juga secara interaktif.
Jika script itu termasuk file lain yang sama berlaku untuk mereka juga.
Jika ragu selalu gunakan prinsip privilege paling tidak. Jika Anda masih ragu, Anda selalu dapat mengajukan pertanyaan khusus di forum dan di IRC.
Selalu ada (hampir) cara untuk menjalankan sesuatu sebagai pengguna non root. Jika semuanya gagal menggunakan sudo untuk membatasi pengguna untuk perintah tertentu juga membatasi potensi untuk melakukan kerusakan.
Jadi dengan contoh yang Anda berikan untuk mencadangkan / etc / apache2 / sites-available, file itu secara default dapat dibaca oleh siapa saja, sehingga menyiratkan itu adalah akses ke tujuan yang hanya dapat ditulis oleh root.
Anda dapat memperbaikinya dengan
- buat grup yang disebut backupadmin (misalnya)
- atur grup pada direktori tujuan ke admin cadangan
- tambahkan pengguna yang disebut backupuser (misalnya)
- tambahkan pengguna cadangan pengguna ke admin cadangan grup.
- membuat direktori dapat ditulisi oleh grup admin cadangan
- jalankan pekerjaan cron dari crontab backupuser.