0

我有一个 Web 应用程序,用户可以在其中自行注册,然后将 Java 和 C++ 程序保存在他们的帐户中。程序保存在 tmp 目录中,例如 /tmp -user1 --program1 --program2 -user2 --program1 --program2

所以所有用户文件夹都在同一个“tmp”目录中。我想知道如何通过不允许用户访问其他用户的文件来证明安全性。用户将在他的文件夹中执行一个 java 或 c++ 程序,该程序可用于读取服务器上的文件。如何防止这种情况?我对这件事很陌生,我不知道该怎么做。

服务器是Linux服务器,项目是使用Django的python。

预先感谢

4

1 回答 1

1

你需要一些东西来区分每个进程对系统的看法。如果您使用的是 FreeBSD,他们的Jails系统将是您的完美解决方案。

作为 Linux 的替代方案,您可以考虑使用Linux 虚拟服务器实例,或者硬着头皮设置像 Xen 这样的更重的虚拟化环境。

这两个都是虚拟化解决方案,基本上允许您运行使用特定目录作为其根目录的虚拟服务器实例。进程在与主机系统相同的内核中运行,但与系统的其余部分隔离。将它们想象成“chroot”,额外隔离了网络堆栈和进程树。建立和拆除新监狱或虚拟服务器所涉及的工作可能非常快。

如果可以,我建议你切换到 FreeBSD。与 Linux 中的(现在正在下降的)虚拟服务器解决方案相比,监狱享有更加活跃的开发和支持社区。

于 2012-04-05T11:25:59.953 回答