用C语言写的CGI,无法在磁盘下新建文件,哪位高手来帮小弟我看看啊

用C语言写的CGI,无法在磁盘上新建文件,谁来帮我看看啊!!!
用C语言写了个简单的CGI程序,其中用creat("host/signal",S_IRUSR)函数想在磁盘上创建一个文件。编译成功后,将该程序在终端下运行,没出现任何问题,文件能够正常的创建。可是开启服务器(我用的是BOA服务器,Linux操作系统),通过浏览器调用该CGI程序,却无法创建该文件。不知道是怎么回事,哪位大哥帮我看看啊???
p.s.
前些日子把一个简单的用C语言写了个摄像头的CGI程序,同样的,在终端下能顺利的执行,并能采集到图片,可是启动服务器后,用浏览器调用该程序,却无法正常执行,每次运行到ioctl()这个函数是就返回。太郁闷了!!!
------解决方案--------------------
需要相应的权限才能调用ioctl,在linux下可以通过调用chmod函数来修改文件属性
#include <sys/types.h>
#include <sys/stat.h>
 
int chmod(const char *path, mode_t mode);
同样需要对该文件有写权限才能操作