如何在沙箱中运行程序?

如何在沙箱中运行程序?

我一直PlayOnLinux在Linux上运行Windows程序。 PlayOnLinux为每个安装的程序创建一个虚拟驱动器,每个虚拟驱动器代表一台不同的 Windows XP 计算机。

程序所做的任何更改仅保留在其自己的 VD 内。因此,如果我运行一个带有病毒的程序,我只需删除该程序的 VD 就可以了。

有没有类似的程序可以让Linux程序在虚拟驱动器中运行?即我想要PlayOnLinux/Wine减去 Windows 模拟。

答案1

我想分享 Firejail、Sandboxie 之类的 Linux 软件,包括 GUI。

看看这里:https://firejail.wordpress.com/并从下载https://sourceforge.net/projects/firejail/或者https://pkgs.org/debian-sid/debian-main-amd64/firejail_0.9.38-1_amd64.deb.html(更改为您的系统)

便于使用;在这种情况下,只需在命令/软件之上运行 firejailfirejail wine program.exe

如果您想在运行这些程序之前检查它们,您可以使用firejail wine winedbg --gdb program.exe运行 wine 调试器将它们链接在一起。

也许你在想它能有多大好处。看一下如何完全运行受火力限制的 WordPress 安装,作为复杂沙箱的示例。 https://www.digitalocean.com/community/tutorials/how-to-use-firejail-to-set-up-a-wordpress-installation-in-a-jailed-environment

永远不要相信一段二进制 blob (exe)。

答案2

我无法给你完整的答案,因为我不知道,但我所知道的是命令chroot设计用于类似(如果不完全相同)的目的。

答案3

linux-vserver 内核补丁和关联的用户空间(请参阅http://linux-vserver.org/)允许您在自己的隔离容器中运行程序,而无需完全虚拟化来宾操作系统。

linux-vserver 容器有自己的挂载命名空间、自己的网络命名空间、自己的安全上下文等。

请注意,尽管 linux-vserver 主要是为了运行服务器而设计的;虽然您可以在 linux-vserver 容器中运行桌面应用程序,但您需要知道自己在做什么。

另一种方法是使用 AppArmor 来限制您的程序可以执行的操作。

相关内容