无法执行设置了执行权限位的文件

Fel*_*ano 4 permissions mount executable

好吧,我对 Linux 太陌生了,但是我被我应该知道的事情困住了,而我不知道。我的文件具有以下权限位集:

-r-xr-xr-x
Run Code Online (Sandbox Code Playgroud)

root(但它应该无关紧要,因为-x即使对于任何用户都处于活动状态)它是不可写的,并且由于它驻留在 CDROM 上,即使是作为 cdrom 安装的虚拟 iso 听起来还可以,但我无法执行:它说“权限被拒绝”我想念什么?mount本身有执行权限,所以应该执行,为什么不执行?

编辑

我解决了这个问题,但不是我的疑问,因为显式bash ./autorun.sh 有效 -root无论如何我需要一个帐户来了解里面的内容,但它有效。

Gil*_*il' 8

最可能的解释是帕特里克的:文件系统是用noexec选项挂载的,所以所有文件的执行权限位都被忽略,你不能直接执行驻留在这个文件系统上的任何程序。请注意,选项 innoexec隐含了mount 选项(据说是出于安全原因,尽管与and选项不同,实际上并不提供任何安全性)。如果您使用并希望拥有可执行文件,请使用.user/etc/fstabnodevnosuidnoexecuseruser,exec

脚本的shebang行也可能指向一个存在但不可执行的文件——在这种情况下,错误消息会混淆地引用脚本,即使错误出在解释器上。但是,shebang 不太可能指向错误的现有文件(如果“未找到”错误,则更可能是悬空的 shebang)。