我想通过让用户上传 c++、python、lisp、scala 等文件来自动测试用户的源代码文件到我的 linux 机器上,服务会在文件夹中找到它们,然后编译/运行它们验证它们是否正确。该服务器不包含关于我的任何用户的重要信息,因此没有数据库或任何东西可供他人破解。但我不是安全专家,所以我仍然担心用户会以某种方式找到一种方法来以 root 权限运行任意命令(基本上我不知道什么样的事情会出错)。有安全的方法吗?
最佳答案
他们会的。如果您授予某人编译权限,则很难不升级到 root。您说该服务器对您不重要,但如果有人从该服务器向您发送电子邮件或更改某些脚本以获取有关您的家用计算机或您使用的其他服务器的一些信息怎么办?
至少你需要强烈地将你和他们区分开来。我会建议 linux 容器,https://linuxcontainers.org/他们现在很时髦。但要小心,无论您如何保护自己,这种服务总是很危险。
关于linux - 如何让用户在我的服务器上运行任意源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26619455/