我有一个网络应用程序,用户可以在其中自行注册,然后将 Java 和 C++ 程序保存在他们的帐户中。 程序保存在 tmp 目录中,例如, /tmp -用户1 --程序1 --程序2 -用户2 --程序1 --程序2
所以所有的用户文件夹都在同一个“tmp”目录中。 我想知道如何通过不允许用户访问其他用户的文件来证明安全性。用户将在他的文件夹中执行 java 或 c++ 程序,可用于读取服务器上的文件。如何防止这种情况? 我是这件事的新手,我不知道该怎么做。
服务器是 Linux 服务器,项目是使用 Django 的 python。
提前致谢
最佳答案
您需要一些东西来区分每个进程看到的系统内容。如果您使用的是 FreeBSD,他们的 Jails系统将是您的完美解决方案。
作为 Linux 的替代品,您可以考虑 Linux vserver实例,或者硬着头皮设置一个更重的虚拟化环境,如 Xen。
这两种都是虚拟化解决方案,基本上允许您运行使用特定目录作为其根目录的虚拟服务器实例。进程在与主机系统相同的内核中运行,但与系统的其余部分隔离。将它们想象成具有额外隔离网络堆栈和进程树的“chroot”。设置和拆除新 jail 或虚拟服务器所涉及的工作可能非常快。
如果可以,我建议您切换到 FreeBSD。与 Linux 中的(现在正在衰落的)vserver 解决方案相比,Jails 享有更加活跃的开发和支持社区。p>
关于python - 如何在服务器上为用户创建虚拟环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10025849/