QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1029|回复: 6

请帮忙看看这个奇怪的opendir问题

[复制链接]
发表于 2005-7-14 10:06:34 | 显示全部楼层 |阅读模式
下面是我的一个test.cgi 权限是777,

#!/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 ,其他平台结果可能是正常的
 楼主| 发表于 2005-7-15 11:32:50 | 显示全部楼层
各位帮忙测试下吧!我郁闷很久了,是不是opendir本身的缺陷?还是和我的系统有关系,我在RHEL上也遇到过同样的问题!

我把/home权限变为了777也不行,这和apache解析cgi脚本的什么设置有关系吗?我的apache是默认设置!

大哥些,帮帮忙吧!
回复

使用道具 举报

发表于 2005-7-15 17:30:23 | 显示全部楼层
不知道。
FC4可以
回复

使用道具 举报

 楼主| 发表于 2005-7-16 12:51:29 | 显示全部楼层

郁闷啊

那请问和apache的配置会有关系吗?
回复

使用道具 举报

发表于 2005-7-17 17:56:26 | 显示全部楼层
也许吧,我对apache不了解。会不会apache限制程序对本地文件、目录的直接访问。
回复

使用道具 举报

 楼主| 发表于 2005-7-17 22:27:21 | 显示全部楼层

应该和权限没有关系

应该和被打开的目录的权限没有关系,因为我把/home目录的权限设为777,结果还是不能打开!

估计是哪有什么bug!

另外我查了apache有关CGI的资料,好象apache只能限制CGI在哪个目录中可以执行,而能否打开哪个目录和apache没有关系,所以我猜测这是系统或是perl的一个BUG,只能看opendir是怎么实现的了!

如果哪位朋友有条件,麻烦在RHEL或Centos上测试一下!我测试过,不行,不知道你们的系统怎么样!
回复

使用道具 举报

 楼主| 发表于 2005-7-18 17:28:07 | 显示全部楼层
经过漫长的探索,最后还是在朋友Gary的提示下,禁用了SELINUX,问题就解决了,希望对大家有帮助!
在此,对Gary表示由衷的感谢啊!
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-5 17:27 , Processed in 0.046503 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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