假设有人通过 Ubuntu 软件安装了一个“不受限制”的应用程序(例如 Slack)。除非采取额外措施,否则该应用程序可以访问主目录中的所有内容。
有没有办法“限制”此类应用?据我所知,chroot jail 不起作用。 将要应用装甲能完成工作吗?或者火狱?或者我应该看看其他方向?
谢谢。
PS:如果重要的话,我目前正在使用 Ubuntu 19.10。
答案1
在 Linux 中有很多选项可以限制软件,但这取决于它是deb
包还是snap
。
Slack Debian 软件包
如果您已经安装了Debian 的 Slack 软件包,你可以使用它,firejail
因为它已经有一个默认的限制配置文件(查看简介)。
- 要安装并使用
firejail
限制 Slackdeb
包:
sudo apt-get install firejail firejail-profiles
sudo ln -s /usr/bin/firejail /usr/local/bin/<application>
<application>
用中的 Slack 二进制文件名称替换/usr/bin
。第二行为要进行沙盒处理的软件创建一个符号链接,以便在 firejail 下运行。
将您的用户名添加到
/etc/firejail/firejail.users
,每个用户名占一行。打开 Slack,并通过以下方式检查限制是否有效:
firejail --tree
。
您可以通过以下方式检查系统中的默认 Slack 配置文件:cat /etc/firejail/slack.profile
。如果您对每行的作用感到好奇,请查看firejail.profile
手册页。
Slack Snap 包
Snap 有所不同,并且(可能)有内置禁闭系统使用内核命名空间、apparmor 和 seccomp。但是,Slack 包是通过 来安装的sudo snap install slack --classic
,--classic
这里的标志表示不会有严格的限制。根据firejail
您安装的版本,您可能会获得snap
默认 firejail 配置文件的支持,但firejail 发行说明表明 0.9.60 版本不再支持 snap 包。