मेरे पास foo.sh
मेरी वर्तमान निर्देशिका में एक फ़ाइल है। अगर मैं दौड़ने की कोशिश करूं ./foo.sh
, तो मुझे:
-bash: ./foo.sh: /bin/sh: bad interpreter: Permission denied
लेकिन अगर मैं दौड़ता हूं /bin/sh ./foo.sh
तो यह ठीक चलता है।
मैं इसे कैसे ठीक कर सकता हूं इसलिए मैं बस चला सकता हूं ./foo.sh
और यह स्वचालित रूप से इसे / बिन / श के साथ चलाता है।
संपादित करें: ठीक है, यह क्रोम ओएस है और यह विशेष फ़ोल्डर के साथ मुहिम की जाती है noexec
। जाहिर है कि सिर्फ चलाने की क्षमता foils ./foo.sh
; लेकिन क्यों? मैं अभी भी sh foo.sh
उसी चीज़ को प्राप्त करने के लिए क्यों दौड़ सकता हूं ? फिर सुरक्षा क्या noexec
देती है?
noexec
इसका जादू कैसे काम करता है।