ฉันมีfoo.sh
ไฟล์ในไดเรกทอรีปัจจุบันของฉัน ถ้าฉันพยายามวิ่ง./foo.sh
ฉันจะได้:
-bash: ./foo.sh: /bin/sh: bad interpreter: Permission denied
แต่ถ้าฉันวิ่ง/bin/sh ./foo.sh
แล้วก็วิ่งได้ดี
ฉันจะแก้ไขได้อย่างไรเพื่อที่ฉันจะสามารถเรียกใช้./foo.sh
และมันรันโดยอัตโนมัติด้วย / bin / sh?
แก้ไข: เอาล่ะนี่คือ Chrome OS noexec
และโฟลเดอร์นี้โดยเฉพาะอย่างยิ่งคือการติดตั้งด้วย เห็นได้ชัดว่าเกียดความสามารถในการทำงานเพียง./foo.sh
; แต่ทำไม เหตุใดฉันจึงยังสามารถวิ่งsh foo.sh
เพื่อบรรลุสิ่งเดียวกันได้ ความปลอดภัยอะไรให้แล้วnoexec
?
noexec
เวทมนตร์ของมันทำงานอย่างไร