我想运行不受信任的小型程序,但限制它们访问其文件夹,网络访问以及它们真正不需要的所有其他内容之外的任何文件。最简单的方法是什么?
我想运行不受信任的小型程序,但限制它们访问其文件夹,网络访问以及它们真正不需要的所有其他内容之外的任何文件。最简单的方法是什么?
Answers:
如果您确实不信任它们,并且您想确定,则可以设置一个单独的框。要么是真的,要么是虚拟的。
此外,如果您很偏执,则不希望该框与重要内容位于同一网络中。在所有解决方案中,您都将建立一个没有权限的单独用户,以免为可能的入侵者打开太多工具。
如果您必须在同一盒子上运行它,例如,您有此选项
chroot
。这是对很多人执行此操作的默认选项,对于非特定威胁,它甚至可能起作用。但这不是安全性选项,可以轻松实现。我建议按预期使用它,即不用于安全性。最后,您可能需要设置一个特定的沙箱模型,而无需进行虚拟化或单独安装的麻烦,也不用担心仍然处于危险状态chroot
。我怀疑这是您的意思,但是请查看此链接以获取一些更深入的信息。
Docker将帮助您设置可以在当前内核之外运行的容器,但不要将其包含在系统的其余部分中。看起来很先进,但是有一个Ubuntu重点关注好的文档。
一种可能的解决方案是虚拟化软件,例如VirtualBox,您可以在软件中心找到它。
现在,您可以安装不信任的软件以查看其功能。它无法破坏外部环境,也不能托管操作系统,因为它没有访问权限。
但是,它可能会破坏您的虚拟机,但如果这样做,则只能从快照中还原。
可能还有其他方法可以限制不受信任的软件的破坏力,但这是我能想到的最可靠的方法。
LXC是Linux容器的用户空间控制包,这是一种轻量级的虚拟系统机制,有时被称为“类固醇中的chroot”。
LXC从chroot开始构建,以实施完整的虚拟系统,并为Linux现有的流程管理基础架构添加了资源管理和隔离机制。
它可以在软件中心中获得。我没有经验。
我认为,可能的解决方案是为测试目的创建一个单独的用户,并限制其特权。这样一来,您不会在虚拟机中肯定会发生性能损失,但是我认为这样做的安全性较差,即使设置不当,我也不建议这样做。
如果您只是想沙沙用户的活动,则可以使用“ DoSH”
DoSH(代表Docker SHell)是在用户登录Linux系统并在其中运行外壳程序时创建Docker容器的开发,而不是简单地创建外壳程序。