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

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

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

-r-xr-xr-x

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

编辑

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

答案1

最可能的解释是帕特里克的:文件系统是使用该noexec选项安装的,因此所有文件的执行权限位都将被忽略,并且您无法直接执行驻留在该文件系统上的任何程序。请注意,noexecmount 选项是由userin 选项隐含的/etc/fstab(据说是出于安全原因,尽管与nodevnosuid选项不同,noexec实际上并不提供任何安全性)。如果您使用user并希望拥有可执行文件,请使用user,exec.

也有可能是舍邦脚本的行指向一个存在但不可执行的文件 - 在这种情况下,错误消息令人困惑地引用了脚本即使错误出在解释器上。然而,shebang 不太可能指向错误的现有文件(如果错误是“未找到”,那么悬挂的 shebang 会更合理)。

相关内容