bash无法识别可执行的Perl脚本

时间:2015-01-21 16:32:13

标签: bash perl permissions executable denied

我对bash和/或perl有一个非常神秘的问题。我会尝试描述这种行为。

通过

运行perl脚本
./perlscript.pl

给了我一条许可被拒绝的消息。

(我是该文件的所有者及其路径 - 来自我的家庭目录该文件包含#!/usr/bin/perl 并且是可执行的{{1 }})

像这样运行脚本:

-rwxr-xr-x

没问题......

任何人都可以帮我修理我的bash吗?谢谢


perl perlscript.pl

1 个答案:

答案 0 :(得分:6)

perlscript.pl所在的文件系统是否带有noexec标志?

假设您使用的是Linux cat /proc/mounts,并在相应文件系统的行上查找noexec

noexec标志阻止任何人在该文件系统上的文件上调用exec(这是bash在执行./perlscript.pl时所执行的操作)。但是perl perlscript.pl会在/usr/bin/perl上调用exec,然后会打开perlscript.pl进行阅读。

noexec挂载的文件系统上的文件仍然拥有执行权限,他们就是无法使用它。