【发布时间】:2011-04-17 06:59:14
【问题描述】:
我正在写类似于http://ideone.com/ 的内容。目前我正在使用 CreateProcess 调用运行用户进程。如果它运行的时间比指定的时间长,我会终止该进程,但我不知道如何拒绝对创建的进程的读/写文件系统权限/创建进程权限等。给定的可执行文件实际上可以是任何东西,我只需要允许标准输入/标准输出。如果我能设置工作记忆集,那就太好了。
看了很多msdn上的文章CreateProcessAsUser Function、CreateProcessWithLogonW Function等,但是很快就糊涂了(可能是因为我的win32知识极其有限)。 仅调用 CreateProcessAsUser 并创建具有这些有限权限的特殊用户(以及如何创建此类用户)就足够了吗?
我希望我可以在一个函数调用中使用正确的参数来实现这一点,所以请帮忙。
另外,如果你知道一些类似的开源项目,那就太好了。
谢谢。
================================================ ===========
编辑: 你好,我们又见面了 :) 我仍然坚持这一点。我没有足够的时间来处理这个问题,但我猜 snemarch 的帖子非常有用。如果有人有开箱即用的解决方案,那就太好了。如果我对 snemarch 的链接做些什么,我会发布。
【问题讨论】:
-
vmware instumentation 是不可能的?还是其他一些 vm 产品?
-
不,这不是不可能的,但如果可能的话,我想坚持使用 win api。我愿意接受所有建议。
标签: c++ windows winapi process privileges