对于我的任务,我有一个 cgi 脚本(C 程序)和一个我想使用 system() 从脚本中调用的程序。在 cgi-bin/ 和 chmodded 到 755。我知道我在我的 cgi 程序中进行的系统调用是有效的(路径正确,命令正确......)但调用总是失败。我在执行 cgi-script 期间检查了工作目录,它是正确的。如果我在 bash 中运行相同的调用,它可以工作,但在我的菜单程序中它不起作用。
这很奇怪,因为当我在我的计算机上运行服务器时系统调用正在工作(使用 python -m CGIHTTPServer),但是当我将网站放在我大学的服务器上时,除了 system()称呼。所以它似乎与权限有关。
这是有问题的电话,如果有帮助的话:
sprintf(systemCall, "passweb -add %s", username);
exitStatus = system(systemCall); //always 1