如果我已经有权访问系统,那么system()函数的用途是什么?

时间:2012-02-23 01:30:08

标签: c ssh system

如果我运行ssh命令并登录到服务器,是否有任何理由让代码调用system(),因为我可以自己运行它?

编辑:我的代码将用C

编写

1 个答案:

答案 0 :(得分:1)

系统调用将执行您想要的程序(带参数)。 system()调用调用shell。因此,从C程序内部,如果要删除文件,可以使用"rm filename"作为参数调用系统(这只是一个用例 - 绝对不是你想从C中删除文件的方式程序) 只有在知道自己在做什么时才应该使用system()。如果用户输入是系统调用参数的任何部分,则应确保清理输入,以免打开命令注入。

系统调用的命令注入示例为here

系统的替代品是popen,显然是fork + exec。