chroot替代

我正在开发一个webapp(在Ubuntu服务器上运行),它将允许用户运行Octave代码(基本上是Matlab)。 但是,我只希望他们能够读取或修改其指定的主文件夹中的文件夹。

我知道chroot是这样做的一种方式,但它是不安全的,你需要root权限chroot(理想情况下,应用程序将不需要)。

另外,我可以在运行之前阅读用户的代码,如果他们尝试写入文件时会抛出错误,但为此我需要考虑用户可能会违反规则的各种方式,以防止它。

我已经看过Linux-VServer,但是这需要为每个用户提供一个单独的虚拟服务器(除非我错了)。

编辑:我可以build立一个SSH连接,并监禁连接,但似乎不必要的资源贪婪。

有没有办法,我可以监狱的用户或过程到一个特定的文件夹,而不使用chroot

退房lxc。

http://lxc.sourceforge.net/

LXC是…“LXC是Linux容器的用户空间控制包。” 这有点像cgroups虚拟化。

您可以使用围绕chroot的相当包装的Coffer。 它为你做了很多繁重的工作。

https://github.com/Max00355/Coffer