Firejail 是一个 Linux 安全沙箱程序,通过使用 Linux 命名空间(namespaces)、Seccomp、和 AppArmor 等技术来隔离和限制应用程序的运行环境。以下是 Firejail 的基本使用教程:
安装 Firejail
在大多数 Linux 发行版上,Firejail 可以通过包管理器直接安装。
对于 Debian/Ubuntu 用户:
sudo apt update
sudo apt install firejail
对于 Fedora 用户:
sudo dnf install firejail
对于 Arch Linux 用户:
sudo pacman -S firejail
基本用法
Firejail 的基本用法是通过在命令前加上 firejail
命令来启动应用程序。例如:
firejail firefox
这会在沙箱中启动 Firefox 浏览器。
常用选项
- 查看应用程序配置文件
Firejail 提供了许多应用程序的默认配置文件,可以通过以下命令查看:
firejail --list
- 使用特定配置文件
你可以指定特定的配置文件来运行程序。例如,你有一个名为 myprofile.profile
的配置文件:
firejail --profile=myprofile.profile firefox
- 查看沙箱状态
你可以使用以下命令查看正在运行的沙箱实例:
firejail --list
- 调试模式
调试模式可以帮助你诊断和解决问题:
firejail --debug firefox
- 网络隔离
你可以通过 --net
选项来隔离网络。例如,完全禁用网络:
firejail --net=none firefox
或者指定一个虚拟网络接口:
firejail --net=eth0 firefox
- 文件系统隔离
你可以通过 --private
选项创建一个临时的、私有的 Home 目录:
firejail --private firefox
你也可以指定一个已有的目录作为沙箱的 Home 目录:
firejail --private=/path/to/directory firefox
- 读写权限
限制程序对文件系统的访问权限。例如,设置 Home 目录为只读:
firejail --read-only=~/Downloads firefox
创建自定义配置文件
Firejail 的配置文件位于 /etc/firejail/
目录下。你可以创建自己的配置文件并放置在该目录中,或者在用户的 Home 目录中创建一个 .config/firejail
目录,并将自定义配置文件放在那里。
配置文件的格式非常直观,以下是一个简单的示例:
# 禁用网络
net none# 只读文件系统
read-only ~/Documents# 私有临时目录
private-tmp
将上述内容保存为 ~/.config/firejail/myprofile.profile
,然后运行:
firejail --profile=~/.config/firejail/myprofile.profile firefox