पायथन रन बैश

| | | | | | | | | | | | | | | | | | | | | | |

ऑपरेटिंग सिस्टम की फाइलों में आमतौर पर अनुमतियां होती हैं, जिससे फाइल सीमित संख्या में लोगों के लिए सुलभ हो जाती है। उदाहरण के लिए, कंप्यूटर पर कुछ फ़ाइलें केवल व्यवस्थापकों के लिए उपलब्ध हैं; अन्य फ़ाइलें केवल एक विशिष्ट उपयोगकर्ता के लिए पहुंच योग्य हैं।

यदि आप किसी ऐसी फ़ाइल को चलाने का प्रयास करते हैं, जिस तक आपके पास Linux मशीन पर पहुंच नहीं है, तो आपको अस्वीकृत अनुमति दिखाई देगी। कोड> त्रुटि। इस गाइड में, हम इस त्रुटि के कारण और इसे ठीक करने के तरीके के बारे में बात करेंगे। आइए शुरू करते हैं।

बैश अनुमति अस्वीकृत

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

<इनपुट प्रकार =" छिपा हुआ "नाम =" ck_source "value =" करियरकर्म-वेब "> <इनपुट टाइप = "हिडन" नाम = "सीके_मीडियम" वैल्यू = "ब्लॉग"> <इनपुट टाइप = "हिडन" नाम = "सीके_कैंपेन" वैल्यू = "एफटी-एक्सप्रेस-डब्ल्यूजीटी-ब्लॉग"> <इनपुट टाइप = "हिडन" नाम = " प्रवाह" मान = "एसएफटी"> <बटन प्रकार = "सबमिट" आईडी = "सबमिट 4" वर्ग = "बीटीएन बीटीएन-सफलता बीटीएन-ब्लॉक बटन-एजेक्स-फॉर्म" शैली = "पृष्ठभूमि-रंग: # ff9d38! जरूरी; सीमा रंग: # ff9d38; अस्पष्टता: 1; सफेद रंग; चौड़ाई: 100%; फोंट की मोटाई: बोल्ड; फ़ॉन्ट आकार: 13px; "> एक मैच प्राप्त करें <स्क्रिप्ट प्रकार = "पाठ / जावास्क्रिप्ट"> jQuery (`# contactForm2`)। सबमिट करें (फ़ंक्शन (ईवेंट) {var फ़ोन = jQuery (`# msg_phone`)। वैल (); फ़ोन = फ़ोन। बदलें (// $ /, ``) .replace (`+ (`, ``) .replace ( `) +`, ``) .replace (``, ``) .replace (`+ -`, ``) .replace (`-`, ``) .replace (`(`, ``) .replace (`)`, ``) .replace (`.`, ``); phone = phone.replace (``, ``); phone = phone .replace (``, ``); var otherphone = phone. सबस्ट्रिंग (2); अगर (अन्य फोन। विभाजित (``) .e बहुत (चार => चार === अन्य फोन [0])) {jQuery (`# त्रुटि_फोन`)। दिखाएँ (); झूठा रिटर्न; } और { var phoneField = jQuery (`# msg_phone`); phoneField.removeAttr ("अधिकतम लंबाई"); phoneField.removeAttr ("स्कीमा"); phoneField.val (फ़ोन); सच लौटाता है; }}) <शैली मीडिया = "सभी"> घंटा {रंग: # 000; ऊंचाई: 3px}

लिनक्स ऑपरेटिंग सिस्टम पर तीन तरह की अनुमतियां होती हैं:

आपको निष्पादन विशेषाधिकारों के बिना किसी फ़ाइल को पढ़ने और लिखने की अनुमति दी जा सकती है। इसलिए, यदि आप एक बैश अनुमति अस्वीकृत का सामना करते हैं, तो यह जांचना सुनिश्चित करें कि आपके पास फ़ाइल को चलाने की अनुमति है या नहीं। आप निम्न आदेश का उपयोग करके जांच सकते हैं कि आपके पास फ़ाइल पर अनुमतियां हैं या नहीं:

ls -la

यह आदेश जानकारी देगा फ़ाइल अनुमतियों के बारे में। हम लेख में बाद में अपने समाधान अनुभाग में इस कमांड के आउटपुट पर चर्चा करते हैं। आइए इसी समाधान के साथ अनुमति अस्वीकृत त्रुटि के साथ एक उदाहरण परिदृश्य देखें।

एक उदाहरण परिदृश्य

हमारे पास example नाम की एक फ़ाइल है। श्री। हम इस फाइल को ls कमांड चलाकर देख सकते हैं। ls कमांड निम्नलिखित देता है:

हम अपनी example.sh फाइल चलाना चाहते हैं। ऐसा करने के लिए, हम संकेतन का उपयोग कर सकते हैं ./:

यह कमांड हमें example.sh फाइल को चलाने की अनुमति देता है जो कि हमारी ./ डायरेक्टरी (जिस डायरेक्टरी को हम अभी देख रहे हैं) में मौजूद है। आइए देखें कि जब हम फ़ाइल को चलाने का प्रयास करते हैं तो क्या होता है:

हमारा आदेश एक त्रुटि देता है।

समाधान

हमारा बैश शेल हमें बताता है कि हमें अपनी फाइल चलाने की अनुमति नहीं है। हम जांच कर सकते हैं ls -la कमांड चलाकर हमारे पास अनुमतियाँ हैं:

हमें कोई विशेषाधिकार नहीं है हमारी किसी भी फाइल पर चलाएं। यदि उपरोक्त आउटपुट की पहली प्रविष्टि में rw के बाद कोई x था, तो हमें पता चल जाएगा कि हम अपनी फाइल चला सकते हैं। इसके बाद के तीन अक्षर पहला उपयोगकर्ता के लिए पढ़ने, लिखने और निष्पादित करने के विशेषाधिकारों का प्रतिनिधित्व करता है। हमारे समूह के पास लिखने या निष्पादित करने की अनुमति भी नहीं है।

इस समस्या को हल करने के लिए, हमें खुद को निष्पादित विशेषाधिकार प्रदान करने की आवश्यकता है:

यह कमांड हमारे उपयोगकर्ता को उदाहरण के लिए विशेषाधिकार ("x") देता है। sh फ़ाइल।

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

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

निष्कर्ष

द बैश <त्रुटि कोड> अनुमति अस्वीकृत इंगित करता है कि आप एक फ़ाइल चलाने की कोशिश कर रहे हैं जिसके लिए आपको चलाने की अनुमति नहीं है। इस समस्या को हल करने के लिए, स्वयं को अनुमति देने के लिए chmod u + x कमांड का उपयोग करें। यदि आप इस आदेश का उपयोग नहीं कर सकते हैं, तो आपको फ़ाइल तक पहुँचने के लिए अपने सिस्टम व्यवस्थापक से संपर्क करने की आवश्यकता हो सकती है।

बैश के बारे में अधिक जानना चाहते हैं? हमारी मार्गदर्शिका देखें कि कमांड लाइन कैसे सीखें < /a>. बैश सीखने के सर्वोत्तम सुझावों के साथ आता है। आपको अपनी सीखने की यात्रा में तेजी लाने में मदद करने के लिए संसाधनों की एक सूची भी मिलेगी।