【发布时间】:2014-11-06 20:39:02
【问题描述】:
我必须使用 CGI C 程序将文件保存在服务器中,然后使用客户端访问它。如果我将文件保存在 cgi-bin 目录中,它可以工作,但我无法通过客户端访问它,因为该目录受到保护。如果我尝试将文件保存在另一个目录中,fopen 函数将无法创建该文件。
FILE *fh = fopen (filename, "wb");
工作但文件不可访问。
FILE *fh = fopen (//var//www//filename, "wb");
不工作。该目录是可写的,如果我在本地 C 程序上运行该语句,它就可以工作。
那么,我怎样才能给 CGI 程序写入 www 目录的权限呢?
我正在使用 Ubuntu 和 apache。
谢谢
【问题讨论】:
-
如果你像这样尝试过,请确保它不会工作
FILE *fh = fopen (//var//www//filename, "wb");。你忘了添加FILE *fh = fopen ("//var//www//filename", "wb");也许这就是原因,并尝试指定整个路径。 -
你试过
chmod a+rw /var/www吗? CGI 脚本的默认权限是:0755 (rwx-rx-rx),而您可能想要 0766 (rwx-rw-rw) 或其他东西