LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 814|回复: 4

出现这样的情况,是我的apache设置的原因吗?帮我看看吧!

[复制链接]
发表于 2005-7-15 16:40:51 | 显示全部楼层 |阅读模式
下面是我的一个test.cgi 权限是777, 放在/var/www/cgi-bin/下

#!/usr/bin/perl
print "Content-type: text/plain\n\n";
$ss="/home";
if (opendir(DIR, $ss))
{
print "open $ss ok\n";
}
else
{
print "fail open $ss !\n";
}


执行的结果是:
fail open /home !

如果把/home换成 /tmp,就可以正常打开

为什么啊?怎么样才可以打开/home目录啊? 我用的是Centos 2.6.9-5.0.5.EL 。我猜测是apache设置的问题,但具体就不知道是什么原因了!

另外如果我在命令行下 #perl test.cgi 就可以正常打开/home目录

请帮忙解决下吧! 非常感谢!
发表于 2005-7-15 16:53:12 | 显示全部楼层
你加上 #! /usr/bin/perl -w 就知道错误了

Name "main:IR" used only once: possible typo at ./perl.cgi line 4.
Content-type: text/plain

open /home ok
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-16 13:17:24 | 显示全部楼层

好象不是本问题的关键!

在命令行下是可以正常打开/home 目录, 我改了一下
  print "open $ss ok\n";
  closedir(DIR);

就没有那个main:IR ....... 的提示了

但照样不能在浏览器中打开/home 目录!

郁闷啊!

这个问题我猜想和perl的语法没有什么关系,会不会和系统或apache 有关系啊??

在RHEL和Centos上都有这个问题!
回复 支持 反对

使用道具 举报

发表于 2005-7-18 14:49:50 | 显示全部楼层
你有home的权限吗?
回复 支持 反对

使用道具 举报

发表于 2005-7-18 22:12:51 | 显示全部楼层
不是他有没有/home权限的问题,他通过浏览器浏览,系统不是把他当作当前用户,而是一个访问CGI的访客,此时通过浏览器的他的身份是NOBODY,所以是NOBODY是否有访问/HOME的权限,好象一般不应该有。^v^,如果有,他的系统安全配置有问题。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表