免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3358 | 回复: 11
打印 上一主题 下一主题

[求助]一个python cgi的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-04-09 11:57 |只看该作者 |倒序浏览
在下由于工作需要,写了一个python的cgi脚本。遇到以下问题:

main.py写好了,放在了cgi-bin下面,可执行
main.py里面读取了一个文件(假设是file),这个文件是在root家目录下面的目录中(当前用户是root,一直到被读的文件,目录权限都是有“r”的,包括文件本身)
可是在浏览器中运行的时候
什么都没有,空白一片
去/var/log/httpd/error.log下查看,显示python的Traceback,表示file文件不可读取,permission deny
[Mon Apr 09 11:46:21 2012] [error] [client 127.0.0.1]     f = open(infofile,"r"), referer: http://127.0.0.1/index.html
[Mon Apr 09 11:46:21 2012] [error] [client 127.0.0.1] IOError: [Errno 13] Permission denied: '/root/MyProject/draftscript/info/193.168.253.236', referer: http://127.0.0.1/index.html

是什么问题呢?求指点。

论坛徽章:
0
2 [报告]
发表于 2012-04-09 13:06 |只看该作者
浏览器是Apache?Apache是以什么权限运行的,也是root?肯定权限有问题啊。。。。

论坛徽章:
0
3 [报告]
发表于 2012-04-09 14:03 |只看该作者
回复 2# 追忆的风筝


    httpd.conf里面User和Group分别都是apache,是否意味着浏览器打开这个页面的时候是apache用户?页面访问我当前用户root的文件是不是可以简化成apache用户访问root的文件?

那么这个文件是744的权限,这样不能访问吗?

确实是权限方面的问题,能不能具体点呢?在下接触不深,比较菜。请详细指点下,谢谢。

论坛徽章:
0
4 [报告]
发表于 2012-04-12 10:04 |只看该作者
drwxr-x---  4 root root  4096 Apr 12 07:17 root
root目录默认是750 apache用户是没有打开权限的

论坛徽章:
0
5 [报告]
发表于 2012-04-12 11:04 |只看该作者
sqy614 发表于 2012-04-12 10:04
drwxr-x---  4 root root  4096 Apr 12 07:17 root
root目录默认是750 apache用户是没有打开权限的


这个我已经检查过了,我从/目录开始检查,看o项有没有r权限,都是有的
意思就是
/root
/root/path
/root/path/file

都是XXX-XXX-r--
所以我觉得这个问题很奇怪

论坛徽章:
0
6 [报告]
发表于 2012-04-12 13:34 |只看该作者
回复 1# dddouxin999


    /root/MyProject/draftscript/info/193.168.253.236
这个是个目录还是个文件?如果是文件的话你用ls -all  /root/MyProject/draftscript/info/193.168.253.236
看一下这个文件的权限?包括它的上级目录一直到/root
截图发一下

论坛徽章:
0
7 [报告]
发表于 2012-04-12 15:23 |只看该作者
sofring912 发表于 2012-04-12 13:34
回复 1# dddouxin999

问题解决了,感谢大家的关心。
在http.conf里把user group改了
然后把脚本放到这个用户下去执行,可以读出来。


你说的那个是一个文件,o组有r权限。
我已经十分确定以及肯定  从root开始,一直到我要读的文件file,每一层,不管是文件夹还是最后的文件,o组都有r权限

虽然linux不是很懂,但这一点还是能肯定的吧, ,第三个“---”的第一个是r,没错吧?

论坛徽章:
0
8 [报告]
发表于 2012-04-12 15:44 |只看该作者
本帖最后由 sofring912 于 2012-04-12 15:45 编辑

回复 7# dddouxin999
因为你没有截图,所以我举个例子跟你说明下:
drwxr-xr-x  2 root root  4096 Apr  1 09:46 old

其中:
第一个字符[d]表示这个是个文件夹 如果是[-] 表示是文件 如果是[l]表示是连接文件(linkfile)

第一个字符后有9个字符分别是:
rwx  r-x  r-x
三个字符为一组
第一组表示文件所有者的权限,即是owner的权限
第二组表示文件所属用户组的权限, 即是group的权限
第三组表示其他人的权限。

所以你要把你屏幕上的显示贴出来 才能一目了然 毕竟表述问题时候每个人有不通的表述方法 但是屏幕输出都是一样的。你把屏幕输出贴出来就更好判断问题。


   

论坛徽章:
0
9 [报告]
发表于 2012-04-12 16:15 |只看该作者
回复 8# sofring912

/root:
    [root@RHEL6 ~]# ll -d .
drwxr-xr-x. 41 root root 4096 Apr 12 14:28 .

/root/MyProject:
[root@RHEL6 MyProject]# ll -d .
drwxr-xr-x. 7 root root 4096 Apr  9 10:15 .

/root/MyProject/draftscript:
[root@RHEL6 draftscript]# ll -d .
drwxr-xr-x. 4 root root 4096 Apr  9 11:10 .

/root/MyProject/draftscript/info
[root@RHEL6 draftscript]# ll -d info
drwxr-xr-x. 2 root root 4096 Apr  9 11:05 info

info里面:
[root@RHEL6 info]# ll
total 28
-rw-r--r--. 1 root root 452 Apr  9 11:07 193.168.1.150
-rw-r--r--. 1 root root 509 Apr  9 11:07 193.168.205.248
-rw-r--r--. 1 root root 361 Apr  9 11:07 193.168.245.251
-rw-r--r--. 1 root root 340 Apr  9 11:07 193.168.247.247
-rw-r--r--. 1 root root 273 Apr  9 11:07 193.168.247.248
-rw-r--r--. 1 root root 394 Apr  9 11:07 193.168.249.244
-rw-r--r--. 1 root root 375 Apr  9 11:07 193.168.253.236

没有截图工具,不好意思。

论坛徽章:
0
10 [报告]
发表于 2012-04-12 17:21 |只看该作者
文件夹是需要x权限的
chmod a+x /root -R
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP