为何在perl cgi程序中不能创建和写文件?

aygrhn 2012-03-30 09:50:05
初学perl cgi程序开发,在cgi中认证客户端的连接信息,并做记录,写入日志文件log_yyyymmdd.csv中,日志文件存在时自动写入,不存在时先创建再写入。

我在linux上使用root,用sysopen函数,在cgi-bin/log路径下创建、读写文件都可以,但通过web请求调用cgi,无论创建文件还是写入文件都失败,只有读文件可以。我想可能是权限的问题,web server调用cgi时,用户不是root,如何配置才能在cgi程序中创建和写文件??

请高人指点,不胜感激。
...全文
184 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiuchang 2012-05-23
  • 打赏
  • 举报
回复
试试chmod -R 777 cgi-bin/log
panghuhu250 2012-03-31
  • 打赏
  • 举报
回复
先弄明白1. cgi程序运行的用户 2. 有cgi-bin/log下建,写文件的权限的账户或组

想办法把它俩往一块凑。

1. 修改cgi的运行账户,或者
2. 把cgi的账户加到有写权限的组里
3. 更改cgi-bin/log的权限,使之包含cgi用户

我觉得第二种办法最好
aygrhn 2012-03-31
  • 打赏
  • 举报
回复
楼上的兄台,我初学linux + perl,很多东西不太清楚怎么做,还请说的详细点。

我看httpd.conf中,USER apache, GROUP apache
我就执行了如下命令:
chown -R apache:apache www

但还是不能create update file。

37,741

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧