ไม่สามารถเรียกใช้งานสคริปต์บนไดรฟ์ภายนอกที่ติดตั้ง


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ภายใต้ราก

นอกจากนี้ตรวจสอบให้แน่ใจว่าคุณวางตัวเลือก exec หลังจากตัวเลือกผู้ใช้หรือระบบจะยังคงเมานต์ไดรฟ์ของคุณเป็น noexec



3

ระบบไฟล์ที่เมานต์noexecจะป้องกันการเรียกใช้สคริปต์เท่านั้น (เช่นการขอให้เคอร์เนลดำเนินการตามความเหมาะสมโดยอ้างอิงจากหมายเลขเวทมนต์หรือเส้น Shebang) มันไม่ได้ป้องกันคุณจากการเรียกล่ามในระบบไฟล์อื่นที่เมานต์execและส่งสคริปต์เป็นอาร์กิวเมนต์ (หรือบน stdin) เพื่อล่ามดังกล่าว เออร์โกถ้าไม่ใช่รูทคุณสามารถแก้ไขได้ด้วยsh k.shวิธีนี้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.