Alat pembangun · Penjana Crontab
Crontab akar lwn crontab pengguna lwn /etc/cron.d: keistimewaan paling rendah untuk pekerjaan
· Mengapa ia penting
cron kebenaran aliran kerja pembangun
Cron memberi anda beberapa tempat untuk meletakkan kerja, dan pilihan menentukan siapa yang menjalankannya dan siapa yang boleh mengubahnya. Siaran ini menerangkan lokasi, medan pengguna dan cara menjalankan kerja dengan keistimewaan paling sedikit yang berfungsi.
Keistimewaan tidak diwakili dalam ungkapan ToolAcre jana
Tiada apa-apa dalam `15 8 * * 1-5` mengatakan akar, akaun perkhidmatan atau orang yang mengarangnya. Lima jawatan mengekod minit, jam, hari dalam bulan, bulan dan hari dalam seminggu. ToolAcre tidak mempunyai pemilih akaun keenam dan tidak boleh memutuskan identiti mana yang harus melaksanakan perintah masa hadapan.
Ketiadaan itu menghalang keistimewaan daripada diseludup ke dalam semakan masa. Sahkan hari bekerja di 08:15 dalam penjana, kemudian pilih konteks pemasangan secara berasingan. Serpihan kalendar yang betul boleh digunakan semula di bawah akaun yang berbeza, manakala keputusan kebenaran bergantung pada sumber yang tidak dapat diperiksa oleh pelayar.
Storan crontab pengguna dan pemilikan pelaksanaan adalah bukti repositori di luar
Buku kerja menerangkan arahan crontab pengguna dan kelakuan kili. Repositori ini tidak membaca direktori kili, menjalankan `crontab -e` atau meniru pemilikan akaun. Laluan penyemak imbasnya tidak dapat mengesahkan tempat sistem pengendalian tertentu menyimpan entri atau kebenaran yang menjaganya.
Gunakan dokumentasi dan alat pentadbiran sasaran untuk mewujudkan pemilikan. Jangan simpulkan bahawa baris adalah milik pengguna pelayar semasa. ToolAcre tidak menerima identiti sistem pengendalian yang disahkan, jadi sebarang tuntutan sedemikian akan diciptakan konteks dan bukannya sifat ungkapan.
Lajur pengguna sistem crontab dan cron.d tidak dihuraikan di sini
Beberapa format fail cron lengkap menambah lajur pengguna sebelum arahan. Penjana masih menghasilkan tepat lima medan pemasaan. Ia tidak menambah atau mengesahkan token akaun tambahan itu. Menampal baris sistem lengkap ke dalam kotak ungkapan mencipta terlalu banyak medan dan gagal dengan betul.
Ini ialah sempadan pemformatan dengan akibat keselamatan. Mengalih keluar token yang tidak dikenali semata-mata untuk memenuhi pengesah lima medan boleh menukar siapa yang menjalankan kerja apabila talian dipasang semula dengan tidak betul. Kenal pasti format destinasi dahulu, kemudian letakkan awalan jadual ToolAcre ke dalam lajur yang betul tanpa memintanya untuk mengesahkan yang lain.
Direktori berkala dan pendawaian anacron tidak dimodelkan
Direktori berkala seperti mekanisme setiap jam atau harian tidak diwakili oleh ungkapan lima medan dalam pelaksanaan ini. Tiada imbasan direktori, tingkah laku bahagian larian atau serahan kepada penjadual lain muncul dalam sumber. Penjana tidak boleh membandingkan pilihan tersebut dengan garis cron yang jelas.
Apabila sasaran menawarkan mekanisme sedemikian, nilaikannya melalui dokumentasinya sendiri. ToolAcre kekal terpakai kepada entri yang benar-benar menggunakan tatabahasa yang disokong. Pratetap jadual bernama "Setiap hari pada tengah malam" masih merupakan ungkapan, bukan bukti bahawa direktori harian hos berjalan pada masa itu.
Keistimewaan yang paling sedikit ialah keputusan penempatan di luar sintaks jadual
Keistimewaan yang paling sedikit memerlukan mengetahui fail, perkhidmatan dan kelayakan yang diperlukan oleh tindakan itu. Penghurai tidak mempunyai maklumat itu. Ia tidak boleh mengesyorkan root, membuat akaun khusus atau mengesahkan pemilikan skrip. Kawalan tersebut hendaklah disemak sebelum pemasangan, bukan disimpulkan daripada kekerapan.
Simpan rekod keputusan keistimewaan di sebelah arahan: perlu membaca, menulis, akses rangkaian dan sempadan peningkatan. Simpan rekod jadual di sebelahnya: ungkapan, niat dan zon bahasa biasa. Memisahkan artifak tersebut menjadikan pelaksanaan yang terlalu istimewa kelihatan tanpa mengubah semantik kalendar.
Sempadan yang dikerjakan: menghasilkan lima medan tanpa mencipta lajur akaun
Katakan laporan harus dijalankan di 08:15 pada hari bekerja. ToolAcre menghasilkan atau mengesahkan `15 8 * * 1-5`, menerangkan hari Isnin hingga Jumaat dan menyenaraikan tarikh akan datang. Berhenti di situ. Jangan tambah nama pengguna di dalam ungkapan atau panggil bahagian token keenam dialek penghurai ini.
Apabila memasang fail sasaran akhir, ikut reka letak lajur yang disahkan dan uji di bawah akaun yang dimaksudkan dengan tindakan yang tidak berbahaya. Butang salin penjana boleh membekalkan ungkapan atau baris pemegang tempat, tetapi pemegang tempat bukanlah pengesyoran kebenaran dan mesti diganti dengan sengaja.
Dasar akses dan label keselamatan kekal ditinggalkan
Benarkan dan tolak dasar, kawalan capaian mandatori dan sistem label fail juga tiada dalam repositori. Jadual boleh mengesahkan sementara dasar menyekat pemasangan atau pelaksanaannya. ToolAcre tidak mempunyai isyarat untuk keputusan luaran tersebut dan tidak sepatutnya membayangkan sebaliknya.
Oleh itu, semakan keselamatan mesti berlaku di mana identiti dan sumber wujud. Laporkan kegagalan dengan bukti sisi sasaran dan bukannya mengubah suai medan sehingga sesuatu berlaku. Tatabahasa masa, format fail dan dasar keistimewaan adalah tiga lapisan; satu pengesah pelayar sahaja meliputi yang pertama.
Bawa pulang: letakkan tugas di tempat yang mempunyai keistimewaannya — dan penjana memberi anda lima medan untuk menetapkan awalan mana-mana fail yang anda pilih
Ungkapan cron lima medan menjawab apabila. Ia tidak menjawab siapa. Kiraan medan ketat ToolAcre melindungi sempadan itu dan membantu mengelakkan lajur akaun daripada tersilap beberapa saat atau sebaliknya. Kekalkan perbezaan apabila memindahkan jadual antara format fail.
Hasilkan awalan masa, pilih destinasi yang didokumenkan dan gunakan keistimewaan paling sedikit berdasarkan keperluan sebenar tindakan. Pelayar boleh menjadikan niat kalendar boleh disemak; pentadbir tetap bertanggungjawab untuk identiti, kebenaran dan pemasangan. Itulah skop artifak yang jujur.