मैं उस कथन से असहमत हूं, क्योंकि उन स्क्रिप्ट्स के बारे में कुछ भी नहीं है जो उन्हें स्वाभाविक रूप से असुरक्षित बनाते हैं। बैश स्क्रिप्टिंग पूरी तरह सुरक्षित हैं यदि कुछ सरल दिशानिर्देशों का पालन किया जाता है:
- क्या स्क्रिप्ट में ऐसी जानकारी है जो दूसरों को देखने में सक्षम नहीं होना चाहिए? यदि ऐसा है, तो सुनिश्चित करें कि यह केवल स्वामी द्वारा पठनीय है।
- क्या स्क्रिप्ट किसी भी डेटा से इनपुट डेटा पर निर्भर करती है? यदि ऐसा है, तो सुनिश्चित करें कि इनपुट डेटा किसी भी तरह से दंडित नहीं किया जा सकता है, या उस चित्रित डेटा का पता लगाया जा सकता है और त्याग दिया गया।
- क्या इससे कोई फर्क पड़ता है कि अन्य स्क्रिप्ट को चलाने और चलाने के लिए थे? यदि ऐसा है, तो पहले बिंदु के साथ, सुनिश्चित करें कि कोई भी इसे निष्पादित नहीं कर सकता है, और अधिमानतः इसे पढ़ नहीं सकता है। chmod 0700 आमतौर पर स्क्रिप्ट के लिए एक अच्छा विचार है जो सिस्टम फ़ंक्शन करता है।
- और जिन मामलों में आप एक स्क्रिप्ट एक setuid (अपने दुभाषिया के माध्यम से) है करना चाहते हैं अत्यंत दुर्लभ
दो अंक है कि अलग एक संकलित कार्यक्रम से एक स्क्रिप्ट होगा कि स्रोत दिख रहा है कर रहे हैं , और एक दुभाषिया इसे निष्पादित करता है। जब तक दुभाषिया से समझौता नहीं किया गया है (जैसे कि उस पर एक सेट्यूड बिट होना), तो आप ठीक होंगे।
सिस्टम कार्यों को करने के लिए स्क्रिप्ट लिखते समय, टाइपो और स्क्रूप्स और इसे लिखते समय सामान्य मानव त्रुटि कुछ हद तक एक संभावित सुरक्षा विफलता का प्रतिनिधित्व करती है, लेकिन यह संकलित कार्यक्रमों के मामले में भी होगा (और बहुत से लोग इस तथ्य को अनदेखा करें कि संकलित कार्यक्रमों को भी अलग किया जा सकता है)
यह ध्यान देने योग्य है कि अधिकांश (यदि सभी नहीं) लिनक्स स्वाद, अधिकांश (यदि वास्तव में, वास्तव में, ऐसा नहीं है जो किसी भी नहीं हैं) सेवाओं को एक शेलस्क्रिप्ट के माध्यम से शुरू किया जाता है।
जब कोई स्क्रिप्ट पठनीय नहीं होती है, तो यह निष्पादन योग्य नहीं है। स्क्रिप्ट पर सेटुइड भी संभव नहीं है। –