“完全”隔离非自由和开源软件

“完全”隔离非自由和开源软件

我今天的问题是关于程序在系统范围内的访问权限和控制。我使用 Linux 发行版作为我的日常驱动程序,主要用于软件开发,但也用于日常操作。

我真的很喜欢 FOSS 的想法,但是,我个人需要额外的工具。在此示例中,我将采用 MS Teams 作为其中之一。

值得指出的是,我了解 GNU/Linux 这样的操作系统,但我只是一个简单的用户,对操作系统如何运行没有深入的了解。

问题

如果我有像 Teams 这样的应用程序,我有没有办法让它在我的系统上运行,但限制它的“功能”?在这种情况下:

  • 我想要沙箱团队,所以它通常只能与微软交谈,这样我就可以聊天或打电话(所以只有互联网访问+麦克风访问,无法访问我的文件或任何其他不需要的东西)。
  • 然后在某些情况下,应允许它进行屏幕共享,但我需要每次启动屏幕投射时都授予它访问权限。
  • 还有很多类似的案例,再次以团队为例......

已有哪些实用程序可以帮助我实现这一目标?或者它们还不存在?为什么不?

感谢您的意见。

答案1

沙盒

消防监狱

麦克风访问

据我所知,没有任何工具可以做到这一点,但是您可以在应用程序的 pavucontrol 中将麦克风静音,并仅在需要时取消静音。

仅与 MS 服务器对话

作为单独的用户运行(xhost/export DISPLAY=根据您的发行版和调用可能需要使用)并使用iptables -O OUTPUT -d IP_ADDRESS --uid-owner $USERNAME/ nftables add rule filter output meta skuid $USERNAME counter。然后有一个应用程序级防火墙,但我不确定它是否有效,因为该项目似乎已被放弃:https://github.com/Douane/

应允许屏幕共享,但每次启动屏幕投射时我都需要授予它访问权限

AFAIK Linux 中没有这样的工具。借助 X11 安全模型,每个应用程序都可以随时抓取整个屏幕。但是,您可以使用不同的 Xorg 服务器 ( Xorg :1) 运行它,在这种情况下,它将无法访问您的主屏幕 ( :0),但屏幕共享将变得不可能。

如果您很偏执/担心,我建议在虚拟机(例如 VirtualBox)中运行该应用程序。它将把应用程序与您的主机完全隔离,但代价是无法共享您的屏幕。

相关内容