Perl CGI脚本直接执行提示Permission denied及Apache运行失败的原因排查求助
Perl CGI脚本直接执行提示Permission denied及Apache运行失败的原因排查求助
大家好,我碰到了一个百思不得其解的问题,想请各位帮忙分析下到底哪里出了问题:
我在RedHat系统的/var/www/cgi-bin目录下操作,先看一下当前路径和脚本的权限情况:
[User@redhat cgi-bin]$ pwd /var/www/cgi-bin [User@redhat cgi-bin]$ ll -a Test.cgi drwxr-xr-x. 2 root root 86 Jul 10 16:37 . drwxr-xr-x. 6 root root 61 Jul 10 18:43 .. -rwxr-xr-x. 1 apache apache 79 Jul 11 09:30 Test.cgi
用Perl直接带参数执行脚本是完全正常的,能输出正确的内容:
[User@redhat cgi-bin]$ perl -T ./Test.cgi Content-type: text/html Hello World!
这个Test.cgi的脚本内容很简单,就是输出Hello World:
#!/usr/bin/perl -T print "Content-type: text/html\n\n"; print "Hello World!";
可是当我尝试直接执行这个脚本的时候,却提示权限不足:
[User@redhat cgi-bin]$ ./Test.cgi -bash: ./Test.cgi: Permission denied
我感觉这个直接执行失败的问题,就是导致我之前CGI脚本在Apache上运行失败的根本原因。另外需要说明的是,当前系统的SELinux已经设置为Permissive模式了,应该不是SELinux的问题。
备注:内容来源于stack exchange,提问作者Aerozeek
相关产品推荐
相关产品推荐

