如何限制程序的文件权限

时间:2012-07-11 14:21:31

标签: c++ windows file

我是一名想要设计在线评审系统的学生。

我遇到了一个问题:为了保证服务器安全,我必须让程序无权读取或写入任何文件 该程序是另一个用户通过在线评判系统提交的。它不是服务器程序本身。

在线评判系统的用户提交他们的源代码,然后服务器程序编译并运行它。因此,服务器程序必须保证服务器的安全。

我的平台是Windows,我使用C ++进行编程。

有人能给我一些建议吗?

2 个答案:

答案 0 :(得分:2)

您无法轻易阻止程序本身的操作,也无法验证该程序是非恶意程序。

您可以做什么:以具有有限(接近非)访问权限的用户身份运行程序。您的服务器程序需要成为该用户并执行它已编译的程序。您可能还希望使用该用户帐户来实际编译程序(在不太可能的情况下,有人知道如何利用您的编译器)。

以不同用户身份执行程序的Windows命令为:runas

答案 1 :(得分:0)

您可以更改文件和目录的权限,然后使用CreateProcessAsUser以具有有限(接近非)访问权限的用户身份运行用户提交的程序。