我对bash和/或perl有一个非常神秘的问题。我会尝试描述这种行为。
通过
运行perl脚本./perlscript.pl
给了我一条许可被拒绝的消息。
(我是该文件的所有者及其路径 - 来自我的家庭目录和该文件包含#!/usr/bin/perl
并且是可执行的{{1 }})
像这样运行脚本:
-rwxr-xr-x
没问题......
任何人都可以帮我修理我的bash吗?谢谢
perl perlscript.pl
答案 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
挂载的文件系统上的文件仍然拥有执行权限,他们就是无法使用它。