linux - Should bash scripts use sudo, or assume sudo? -
कौन से पैटर्न को प्राथमिकता है:
#! / Bin / bash echo blah apt- संस्थापित करें- i blah ... जो कि रूट पार्म के बिना चलाए जाने पर विफल हो जाएगा, या:
#! / Bin / bash echo blah sudo अधिष्ठापन एपटी-मिल इंस्टाल -इ ब्लमा ... जो तब तक सफल होगा जब उपयोगकर्ता के पास एसडो एक्सेस है।
मैंने दूसरे पैटर्न का इस्तेमाल करने की आदत रखी है, लेकिन ऐसा लगता है कि दुर्लभ है, इसलिए मैं पूछ रहा हूं कि इसके नुकसान क्या हैं। मैंने जो लाभ देखे हैं वह हैं:
- यह स्पष्ट है कि कमांडों को चलाने के लिए सुपरयुसर अनुमति की आवश्यकता होती है (उपयोगी यदि पाठक स्क्रिप्ट को अलग करना चाहता है)
- कुछ कीस्ट्रोक्स को बचाता है उपयोगकर्ता।
मुझे लगता है कि डाउनसाइड्स में शामिल हैं कि रूट अनुमतियों का उपयोग आश्चर्यजनक हो सकता है ("मैंने sudo टाइप नहीं किया है, इसलिए मैंने कुछ भी उम्मीद नहीं की थी जैसे कि एपटी-होट को चलाने के लिए .... ")। और क्या?
दूसरा विकल्प सही विकल्प है जरूरी आदेश जो रूट एक्सेस की आवश्यकता नहीं है, सिर्फ अपनी स्क्रिप्ट को आसान बनाने के लिए रूट के रूप में नहीं चलना चाहिए। कमांडों को रूट एक्सेस (या किसी विशिष्ट उपयोगकर्ता द्वारा उस मामले के लिए उपयोग की आवश्यकता होती है) को sudo द्वारा चलाया जाना चाहिए। स्पष्टता के लिए, आप एक कस्टम प्रॉम्प्ट पेश करने के लिए -p विकल्प को sudo का उपयोग कर सकते हैं, जो बता सकता है कि उपयोगकर्ता को उनके पासवर्ड के लिए क्यों कहा जाता है। विकल्प दो भी बेहतर है क्योंकि sudo अत्यधिक विन्यास योग्य है, और उपयोगकर्ता को पहले से ही विशिष्ट आदेश को sudo बिना पासवर्ड के लिए चलाने की अनुमति हो सकती है, इसलिए यह संभव है कि उपयोगकर्ता पासवर्ड प्रॉम्प्ट से असुविधाजनक नहीं होगा। यह बिना कम होने की संभावना है कि उपयोगकर्ता को sudo कमांडों (जैसे कि आपकी स्क्रिप्ट) के लिए अनुमति दी गई हो।
Comments
Post a Comment