我正在开发一个允许用户运行 Octave 代码(基本上是 Matlab)的 web 应用程序(在 Ubuntu 服务器上运行)。但是,我只希望他们能够读取或修改其指定主文件夹中的文件夹。
我知道chroot
这是这样做的一种方法,但它不安全,并且您需要 chroot 的 root 权限(理想情况下,应用程序不需要)。
另外,我可以在运行之前读取用户的代码,如果他们尝试写入文件,我会抛出错误,但为此我需要考虑用户可能违反我的规则的每一种方式,以防止它发生。
我看过Linux-VServer但这需要为每个用户单独的虚拟服务器(除非我弄错了)。
编辑:我可以建立一个 SSH 连接并监禁连接,但这似乎不必要地贪婪资源。
有没有一种方法可以在不使用的情况下将用户或进程监禁到特定文件夹chroot
?