डेवलपर टूल · क्रोंटैब जनरेटर
रूट क्रोंटैब बनाम उपयोगकर्ता क्रोंटैब बनाम /etc/cron.d: नौकरियों के लिए न्यूनतम विशेषाधिकार
· यह क्यों मायने रखती है
Cron अनुमति डेवलपर-वर्कफ़्लो
Cron आपको नौकरी लगाने के लिए कई स्थान देता है, और विकल्प यह तय करता है कि इसे कौन चलाएगा और कौन इसे बदल सकता है। यह पोस्ट स्थानों, उपयोगकर्ता फ़ील्ड और कम से कम विशेषाधिकार के साथ काम करने के तरीके के बारे में बताती है।
ToolAcre द्वारा उत्पन्न अभिव्यक्ति में विशेषाधिकार का प्रतिनिधित्व नहीं किया गया है
`15 8 * * 1-5` में कुछ भी रूट, सेवा खाते या इसे लिखने वाले व्यक्ति के बारे में नहीं कहा गया है। पाँच स्थितियाँ मिनट, घंटा, महीने का दिन, महीना और सप्ताह का दिन कूटबद्ध करती हैं। ToolAcre के पास कोई छठा खाता चयनकर्ता नहीं है और यह तय नहीं कर सकता कि किस पहचान को भविष्य के आदेश को निष्पादित करना चाहिए।
यह अनुपस्थिति समय की समीक्षा में विशेषाधिकार की तस्करी होने से रोकती है। जनरेटर में कार्यदिवसों को 08:15 पर मान्य करें, फिर इंस्टॉलेशन संदर्भ को अलग से चुनें। एक सही कैलेंडर खंड विभिन्न खातों के तहत पुन: प्रयोज्य है, जबकि अनुमति निर्णय उन संसाधनों पर निर्भर करते हैं जिनका ब्राउज़र निरीक्षण नहीं कर सकता है।
उपयोगकर्ता क्रोंटैब भंडारण और निष्पादन स्वामित्व बाहरी भंडार साक्ष्य हैं
कार्यपुस्तिका में उपयोगकर्ता क्रॉस्टैब कमांड और स्पूल व्यवहार का वर्णन किया गया है। यह रिपॉजिटरी स्पूल निर्देशिका को नहीं पढ़ता है, `crontab -e` नहीं चलाता है या खाता स्वामित्व का अनुकरण नहीं करता है। इसका ब्राउज़र रूट यह सत्यापित नहीं कर सकता कि कोई विशेष ऑपरेटिंग सिस्टम प्रविष्टियों को कहाँ संग्रहीत करता है या कौन सी अनुमतियाँ उनकी सुरक्षा करती हैं।
स्वामित्व स्थापित करने के लिए लक्ष्य के दस्तावेज़ीकरण और प्रशासनिक टूलों का उपयोग करें। यह अनुमान न लगाएं कि कोई पंक्ति वर्तमान ब्राउज़र उपयोगकर्ता की है। ToolAcre को कोई प्रमाणित ऑपरेटिंग-सिस्टम पहचान नहीं मिलती है, इसलिए ऐसे किसी भी दावे को अभिव्यक्ति की संपत्ति के बजाय संदर्भ के रूप में गढ़ा जाएगा।
सिस्टम crontab और cron.d उपयोगकर्ता कॉलम यहां पार्स नहीं किए गए हैं
कुछ पूर्ण Cron फ़ाइल स्वरूप कमांड से पहले एक उपयोगकर्ता कॉलम जोड़ते हैं। जनरेटर अभी भी ठीक पाँच टाइमिंग फ़ील्ड उत्पन्न करता है। यह उस अतिरिक्त खाता टोकन को न तो जोड़ता है और न ही सत्यापित करता है। संपूर्ण सिस्टम लाइन को एक्सप्रेशन बॉक्स में चिपकाने से बहुत सारे फ़ील्ड बन जाते हैं और सही ढंग से विफल हो जाते हैं।
यह सुरक्षा परिणामों वाली एक स्वरूपण सीमा है। केवल पांच-फ़ील्ड सत्यापनकर्ता को संतुष्ट करने के लिए एक अपरिचित टोकन को हटाने से यह बदल सकता है कि लाइन गलत तरीके से दोबारा जुड़ने पर कौन काम चलाएगा। पहले गंतव्य प्रारूप की पहचान करें, फिर ToolAcre के शेड्यूल उपसर्ग को बाकी को प्रमाणित करने के लिए कहे बिना उचित कॉलम में रखें।
आवधिक निर्देशिकाएं और एनाCron वायरिंग का मॉडल नहीं बनाया गया है
इस कार्यान्वयन में आवधिक निर्देशिकाएं जैसे प्रति घंटा या दैनिक तंत्र को पांच-क्षेत्र अभिव्यक्ति द्वारा दर्शाया नहीं जाता है। स्रोत में कोई निर्देशिका स्कैन, रन-पार्ट्स व्यवहार या किसी अन्य शेड्यूलर को हैंडऑफ़ दिखाई नहीं देता है। जनरेटर उन विकल्पों की तुलना स्पष्ट Cron लाइन से नहीं कर सकता।
जब कोई लक्ष्य ऐसे तंत्र प्रदान करता है, तो अपने स्वयं के दस्तावेज़ीकरण के माध्यम से उनका मूल्यांकन करें। ToolAcre उन प्रविष्टियों पर लागू रहता है जो वास्तव में समर्थित व्याकरण का उपयोग करती हैं। "हर दिन आधी रात को" नामक शेड्यूल प्रीसेट अभी भी एक अभिव्यक्ति है, यह सबूत नहीं है कि होस्ट की दैनिक निर्देशिका तब चलती है।
न्यूनतम विशेषाधिकार शेड्यूल सिंटैक्स से परे एक तैनाती निर्णय है
कम से कम विशेषाधिकार के लिए यह जानना आवश्यक है कि कार्रवाई के लिए किन फाइलों, सेवाओं और क्रेडेंशियल्स की आवश्यकता है। पार्सर के पास ऐसी कोई भी जानकारी नहीं है। यह रूट की अनुशंसा नहीं कर सकता, एक समर्पित खाता नहीं बना सकता या स्क्रिप्ट स्वामित्व सत्यापित नहीं कर सकता। स्थापना से पहले उन नियंत्रणों की समीक्षा की जानी चाहिए, आवृत्ति से अनुमान नहीं लगाया जाना चाहिए।
कमांड के बगल में एक विशेषाधिकार निर्णय रिकॉर्ड रखें: आवश्यक पढ़ना, लिखना, नेटवर्क पहुंच और एस्केलेशन सीमाएँ। इसके बगल में शेड्यूल रिकॉर्ड रखें: अभिव्यक्ति, सरल भाषा का इरादा और क्षेत्र। उन कलाकृतियों को विभाजित करने से कैलेंडर शब्दार्थ को बदले बिना अत्यधिक विशेषाधिकार प्राप्त निष्पादन दृश्यमान हो जाता है।
कार्य सीमा: खाता कॉलम का आविष्कार किए बिना पांच फ़ील्ड तैयार करें
मान लीजिए कि एक रिपोर्ट सप्ताह के दिनों में 08:15 पर चलनी चाहिए। ToolAcre `15 8 * * 1-5` का उत्पादन या सत्यापन करता है, सोमवार से शुक्रवार तक का वर्णन करता है और आगामी तिथियों को सूचीबद्ध करता है। वहाँ रुकें। अभिव्यक्ति के अंदर उपयोगकर्ता नाम न जोड़ें या इस पार्सर की बोली के छठे टोकन भाग को कॉल न करें।
अंतिम लक्ष्य फ़ाइल को असेंबल करते समय, उसके सत्यापित कॉलम लेआउट का पालन करें और हानिरहित कार्रवाई के साथ इच्छित खाते के तहत परीक्षण करें। जनरेटर का कॉपी बटन एक अभिव्यक्ति या प्लेसहोल्डर लाइन प्रदान कर सकता है, लेकिन प्लेसहोल्डर एक प्राधिकरण अनुशंसा नहीं है और इसे जानबूझकर बदला जाना चाहिए।
पहुंच नीति और सुरक्षा लेबल छोड़े गए हैं
अनुमति दें और अस्वीकार करें नीतियां, अनिवार्य पहुंच नियंत्रण और फ़ाइल-लेबल सिस्टम भी रिपॉजिटरी से अनुपस्थित हैं। एक शेड्यूल मान्य हो सकता है जबकि नीति इसकी स्थापना या निष्पादन को रोकती है। ToolAcre के पास उन बाहरी निर्णयों के लिए कोई संकेत नहीं है और इसका अन्यथा अर्थ नहीं होना चाहिए।
इसलिए सुरक्षा समीक्षा वहीं होनी चाहिए जहां पहचान और संसाधन मौजूद हों। कुछ घटित होने तक फ़ील्ड को संशोधित करने के बजाय लक्ष्य-पक्ष साक्ष्य के साथ विफलताओं की रिपोर्ट करें। समय व्याकरण, फ़ाइल प्रारूप और विशेषाधिकार नीति तीन परतें हैं; एक ब्राउज़र सत्यापनकर्ता केवल पहले को कवर करता है।
टेकअवे: कार्य को वहां रखें जहां उसके विशेषाधिकार हैं - और जनरेटर आपको जो भी फ़ाइल आप चुनते हैं उसे उपसर्ग करने के लिए पांच फ़ील्ड देता है
पांच-फ़ील्ड Cron अभिव्यक्ति कब उत्तर देती है। इसका उत्तर नहीं है कि कौन। ToolAcre की सख्त फ़ील्ड गिनती उस सीमा की रक्षा करती है और खाता कॉलम को सेकंड या इसके विपरीत गलत होने से रोकने में मदद करती है। फ़ाइल स्वरूपों के बीच शेड्यूल को स्थानांतरित करते समय अंतर को सुरक्षित रखें।
समय उपसर्ग उत्पन्न करें, एक दस्तावेजित गंतव्य चुनें और कार्रवाई की वास्तविक आवश्यकताओं के आधार पर कम से कम विशेषाधिकार लागू करें। ब्राउज़र कैलेंडर आशय को समीक्षा योग्य बना सकता है; व्यवस्थापक पहचान, अनुमतियाँ और स्थापना के लिए जिम्मेदार रहता है। यह कलाकृति का ईमानदार दायरा है।