इसे जोड़ना बुरा क्यों है? ' पथ के लिए


3

मैंने एक स्पष्टीकरण पढ़ा है जिसमें कहा गया है कि यह दुर्भावनापूर्ण निष्पादनों की अनुमति दे सकता है जो कि cwd में समान रूप से निर्मित इंस और कोर उपयोगिताओं के स्थान पर चलने के लिए हैं।

कुछ के लिए सच है कहर बरपा, यह केवल जड़ पर लागू नहीं होगा? और किसी भी मामले में, अगर '।' PATH के बजाय पहले से जोड़ दिए गए, क्या इस "प्रतिस्थापन" हमले को दरकिनार नहीं किया जाना चाहिए, क्योंकि PATH की निर्देशिकाओं को क्रम में स्कैन किया जाता है? (वे क्रम में स्कैन नहीं कर रहे हैं?)

क्या इसके अलावा कोई अन्य मुद्दे हैं?


निष्पादनों को चलाने से पहले विंडोज कमांड प्रॉम्प्ट की आलोचना की गई है . हालांकि यह% PATH% में नहीं है। इसलिए PowerShell की आवश्यकता है .\executable
Hello71

जवाबों:


10

यह उस पर निर्भर करता है जिसे आप कहर के रूप में परिभाषित करते हैं। यदि आप अपनी सभी व्यक्तिगत फ़ाइलों के नुकसान पर विचार करते हैं, तो मैं कहूंगा कि भले ही आपके पास बैकअप हो।

जहां तक ​​अपील है, हां जो सुरक्षित है, लेकिन जब तक आपका टाइपिंग मेरी तुलना में बहुत बेहतर नहीं है, तब तक टाइपोस एक ही परेशानी का कारण बन सकता है।


अगर मैं (अभी भी 15 प्रतिनिधि के तहत) मैं +1 कर सकता था, लेकिन मुझे याद करने के लिए धन्यवाद कि मैंने क्या याद किया, अर्थात् उस द्वेष को किसी की व्यक्तिगत फ़ाइलों को मिटाने के लिए रूट की आवश्यकता नहीं है :-)
William

3

हाँ पथ चर को क्रम में संसाधित किया जाता है और आपका समाधान यह सुनिश्चित करेगा कि ज्ञात निष्पादनयोग्य पहले संसाधित किए गए थे।

हालाँकि आप अभी भी दुर्भावनापूर्ण निष्पादन के लिए जगह छोड़ते हैं। उदाहरण के लिए, अगर मैंने एक बैश स्क्रिप्ट कहीं अटक गई, जो 'आरएम -आरएफ ~ /' या कुछ और भी नास्टियर चला और फिर निष्पादन योग्य 'एसएल' ('एलएस' के लिए एक सामान्य टाइपो) कहा, तो आप खुद को हर तरह की परेशानी में पा सकते हैं!

मुझे मत बताओ कि आप कभी भी टाइपो कमांड नहीं चलाते हैं;)


1
मैं कभी भी टाइपो कमांड नहीं चलाता। या, अगर मैंने ऐसा किया है, तो कमांडों ने खुद अपने टाइपो के बारे में सबूतों की सफाई का ध्यान रखा है।
Janne Pikkarainen

1
मैं किसी की मदद करने की कोशिश करने के लिए गंभीर आवाज़ का मतलब नहीं है, लेकिन पृथ्वी पर कोई भी "स्ल्म" नामक एक स्क्रिप्ट क्यों बनाएगा जो "आरएम-प्रति ~ ~" भाग गया? सच कहूं, मुझे लगता है कि यह सब एक हद तक खत्म हो गया है। टाइपो बस के रूप में हर किसी को अपने रास्ते में है कि आदेशों का उपयोग कर कहर बरपाने ​​की संभावना है।
frabjous

3

होने "" रास्ते में जादुई रूप से प्रकट होने और गायब होने की आज्ञा देता है। सीडी कहीं और आपकी कमांड शुरू या काम करना बंद कर देती है। यह आप "से बाहर चल रहे थे कि अभद्र है।" अगर कमांड "/" है तो "कमांड" से "कमांड" है। यही समस्या ".." और "/" या "../" और किसी भी अन्य रिश्तेदार पथ से शुरू होने वाले रास्तों पर लागू होती है।

व्यक्तिगत आदेशों के लिए मैं $ HOME / बिन की सलाह देता हूं। यदि वे पर्याप्त उपयोगी हैं तो वहां से वे / usr / स्थानीय / बिन में प्रवास कर सकते हैं।

संपादित करें: जैसा कि स्वीकृत उत्तर में दिया गया है, मौजूदा निर्देशिका में निष्पादन योग्य फाइलें (प्रोग्राम) आपके सिस्टम के लिए भयानक काम कर सकती हैं। यदि उनके पास समान रूप से उपयोग की जाने वाली कमांड के रूप में एक ही नाम है, तो उनके लिए निर्देशिका को बदलकर ट्रिगर किया जाना अपेक्षाकृत आसान है। दुर्भावनापूर्ण लोगों को नुकसान पहुंचाने के इरादे से ऐसे कार्यक्रम लिखने के लिए जाना जाता है। इस तरह के कार्यक्रमों के आकस्मिक निष्पादन को PATH सूची के अंत में सापेक्ष पथ प्रविष्टि डालकर कम किया जा सकता है। सामान्य आदेशों के सामान्य गलत वर्तनी वाले कार्यक्रमों को अभी भी ट्रिगर किया जा सकता है।


0

इसका टाइप आसान है ।/sl जो काफी विशिष्ट है "मैं CWD में" sl "नामक फ़ाइल को निष्पादित करना चाहता हूं। $ PATH के कारण वहाँ कोई गलती नहीं है। :-)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.