Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与bashshell相比,使用popen(3)与系统交互的C程序如何?_C_Linux - Fatal编程技术网

与bashshell相比,使用popen(3)与系统交互的C程序如何?

与bashshell相比,使用popen(3)与系统交互的C程序如何?,c,linux,C,Linux,以这种方式使用C‘shell emulator’对用户向内核发送命令(在linux中)有任何限制吗?作为一个事后思考的问题,如果您将用户设置为不具有shell访问权限,那么是什么阻止他们使用类似这样的东西与内核交互?(比如说通过php从shell_exec运行程序) (通过限制用户,我指的是/etc/passwd) 谢谢好的,这里有几个问题 首先,作为一种模拟shell的方法,popen并不是非常令人满意,因为您将无法创建自己的管道,并且您将不断地与权限和诸如此类的事情进行斗争 其次,popen

以这种方式使用C‘shell emulator’对用户向内核发送命令(在linux中)有任何限制吗?作为一个事后思考的问题,如果您将用户设置为不具有shell访问权限,那么是什么阻止他们使用类似这样的东西与内核交互?(比如说通过php从shell_exec运行程序)

(通过限制用户,我指的是/etc/passwd)
谢谢

好的,这里有几个问题

首先,作为一种模拟shell的方法,popen并不是非常令人满意,因为您将无法创建自己的管道,并且您将不断地与权限和诸如此类的事情进行斗争

其次,popen不会特别保护您免受恶意命令的攻击

你真正想要的是使用

更新


回答你的第二个问题,几乎没有什么。这就是为什么你应该非常小心地使用它。

好的,这里有几个问题

首先,作为一种模拟shell的方法,popen并不是非常令人满意,因为您将无法创建自己的管道,并且您将不断地与权限和诸如此类的事情进行斗争

其次,popen不会特别保护您免受恶意命令的攻击

你真正想要的是使用

更新


回答你的第二个问题,几乎没有什么。这就是为什么你应该非常小心地使用它。

你能详细说明一下吗?我不明白你的问题。对不起,我等一下。你能详细说明一下吗?我不理解你的任何一个问题。对不起,我将尝试片刻。谢谢你的回答,并正确地推断出我想问什么!我想问一下,要想像bash那样捕获stin/out,popen3的替代方案是什么?谢谢你的回答,并正确地推断出我想问的问题!我想问一下,要像bash那样捕获stin/out,popen3的替代方案是什么?