使用 firejail 限制应用程序的权限

Firejail 是一个易于使用的 SUID 沙盒程序,它通过使用 Linux 命名空间、seccomp-bpf 和 Linux 功能来限制不受信任的应用程序的运行环境以降低安全漏洞被利用的风险。

安装

1
sudo apt install firejail

配置

QQ for Linux为例

创建自定义配置文件

假设,我们要禁止QQ for Linux访问~/.gnupg~/.ssh目录。
创建配置文件~/.config/firejail/qq.profile,并写入:

1
2
blacklist ${HOME}/.gnupg
blacklist ${HOME}/.ssh

再修改应用程序的启动文件(~/.local/share/applications/qq.desktop),在Exec=行的命令前加上firejail

现在,再打开QQ for Linux,就会发现已经无法访问上述目录。

也可以使用命令

1
2
3
firejail --list

firejail --tree

来验证应用是否运行在沙盒中。

参考

https://wiki.archlinuxcn.org/wiki/Firejail
https://www.linuxprobe.com/firejail-linux.html