एक माउंटेड एक्सटर्नल ड्राइव पर स्क्रिप्ट निष्पादित नहीं कर सकते


23

/ Mnt / ext को ext2 फाइलसिस्टम पर आरोहित किया जाता है, एक बाहरी हार्ड ड्राइव। किसी कारण से मैं वहां से स्क्रिप्ट नहीं चला सकता। कृपया नीचे सत्र देखें।

luntain@plato /mnt/ext $ echo "echo success" > k.sh
luntain@plato /mnt/ext $ chmod 777 k.sh
luntain@plato /mnt/ext $ ./k.sh
-bash: ./k.sh: Permission denied
126luntain@plato /mnt/ext $ ll k.sh
-rwxrwxrwx 1 luntain luntain 13 Jan 23 15:08 k.sh*
luntain@plato /mnt/ext $ 

मुझे यह पता लगाना अच्छा लगेगा कि मैं त्रुटि क्यों देख रहा हूं।

जवाबों:


22

संभवतः एक noexecविशेषता सेट थी जब फाइलसिस्टम माउंट किया गया था; शायद यह आपका वितरण 'सुविधा' है।

इसे जांचने के लिए आप निष्पादित कर सकते mountहैं जो कोष्ठक में माउंट विकल्प दिखाएगा, और noexecझंडे को हटाने के लिए आप mount -o remount,exec /mnt/extरूट के तहत उपयोग कर सकते हैं ।

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



3

एक फाइलसिस्टम घुड़सवार noexecकेवल स्क्रिप्ट को निष्पादित करने से रोकता है (यानी, कर्नेल को इसे एक जादुई संख्या या एक शेल्फ़ लाइन के आधार पर उचित रूप से निष्पादित करने के लिए कहता है)। यह आपको एक दुभाषिया पर एक दुभाषिया को बुलाने execऔर स्क्रिप्ट को एक तर्क के रूप में (या स्टड पर) पास करने से रोकने वाला नहीं कह सकता है। एर्गो, यदि रूट नहीं है, तो आप इसके साथ बस के आसपास काम कर सकते थे sh k.sh

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