Perl 无法在 Linux 上运行

问题描述 投票:0回答:1

我有一个简单的 Perl 脚本如下:

#!/usr/bin/perl
print "###################################\n";

但是当我尝试从命令行执行它时,我总是看到:

[root@testbox001 tmp]# ./def
-bash: ./def: Permission denied

脚本可执行:

-rwxr-xr-x  1 root root    88 Dec 22 01:42 def

还有 bash 和 shebang:

[root@testbox001 tmp]# ls -l /usr/bin/bash
-rwxr-xr-x. 1 root root 1150560 Jun 20  2022 /usr/bin/bash
[root@testbox001 tmp]# ls -l /usr/bin/perl
-rwxr-xr-x. 2 root root 12752 Jan 17  2023 /usr/bin/perl
[root@testbox001 tmp]#

原因是什么?

我只能显式运行它:

[root@testbox001 tmp]# /usr/bin/perl def
#########################################################
[root@testbox001 tmp]#
linux shell perl
1个回答
0
投票

该程序位于

/tmp
卷上,安装该卷
noexec
以帮助减少攻击。

$ 安装 | grep '在 /tmp '
/dev/sda3 on /tmp type ext4 (rw,nosuid,nodev,noexec,noatime,nodiratime,data=ordered)

这会阻止执行该卷上的程序。

ikegami@hostname:/tmp/ikegami$ ./a.pl
-bash: ./a.pl: Permission denied
© www.soinside.com 2019 - 2024. All rights reserved.