我今天的问题是关于程序在系统范围内的访问权限和控制。我使用 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)中运行该应用程序。它将把应用程序与您的主机完全隔离,但代价是无法共享您的屏幕。