python - 如何在服务器上为用户创建虚拟环境

标签 python linux apache deployment

我有一个网络应用程序,用户可以在其中自行注册,然后将 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 享有更加活跃的开发和支持社区。

关于python - 如何在服务器上为用户创建虚拟环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10025849/

相关文章:

python - 能否查看语音 channel 是否有用户?

python - 如果我们可以直接使用变量而无需初始化,为什么我们在tensorflow中使用tf.Variable?

c++ - 段错误和指针问题

linux - 在将公钥导入 GnuPG 之前验证公钥的扩展是否很热门?

multithreading - Node.js 适合计算密集型 Web 服务吗

javascript - 如何使用 react.js 在 Apache 服务器上生成动态 <meta> 标签

Python-将随机数分配给字典值?

python - 如何配置postgresql

c - __WORDSIZE 在编译中的作用

用于生产的 php artisan 与 apache/nginx