英语法语西班牙文

OnWorks 网站图标

firejail - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 firejail

这是命令 firejail,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


Firejail - Linux 命名空间沙箱程序

概要


启动沙箱:

firejail [选项] [程序和参数]

现有沙箱的网络流量整形:

火狱--带宽={ | } 带宽命令

监控:

firejail {--list | --netstats | --top | - 树}

杂:

火狱{-? | --debug-caps | --debug-errnos | --debug-syscalls | --调试协议
| --帮助 | - 版本}

商品描述


Firejail 是一个 SUID 沙盒程序,可通过以下方式降低安全漏洞的风险
使用Linux命名空间限制不受信任应用程序的运行环境,
seccomp-bpf 和 Linux 功能。 它允许进程及其所有后代拥有
他们自己对全局共享内核资源的私有视图,例如网络堆栈,
进程表,安装表。 Firejail 可以在 SELinux 或 AppArmor 环境中工作,并且
它与 Linux 控制组集成。

该软件是用 C 语言编写的,几乎没有依赖关系,可以在任何具有以下功能的 Linux 计算机上运行
3.x 内核版本或更新版本。 它可以沙箱任何类型的进程:服务器、图形
应用程序,甚至用户登录会话。

Firejail 允许用户使用安全配置文件管理应用程序安全。 每个
profile 为特定应用程序或应用程序组定义了一组权限。
该软件包括许多更常见的 Linux 程序的安全配置文件,例如
如 Mozilla Firefox、Chromium、VLC、Transmission 等。

用法


在没有任何选项的情况下,沙箱包含在新安装中构建的 chroot 文件系统
命名空间,以及新的 PID 和 UTS 命名空间。 可以添加 IPC、网络和用户命名空间
使用命令行选项。 默认的 Firejail 文件系统基于主机
主目录以只读方式安装的文件系统。 仅有的 /主页/ tmp目录 是可写的。

启动时,Firejail 尝试根据名称查找安全配置文件
应用。 如果找不到合适的配置文件,Firejail 将使用默认配置文件。
默认配置文件非常严格。 如果应用程序不起作用,请使用
--noprofile 选项来禁用它。 有关更多信息,请参阅 保安 PROFILES
部分。

如果未指定程序参数,Firejail 将启动 / bin / bash 贝壳。 例子:

$ firejail [OPTIONS] # 开始一个 / bin / bash

$ firejail [OPTIONS] firefox # 启动 Mozilla Firefox

# sudo firejail [选项] /etc/init.d/nginx start

配置


-- 发出选项结束的信号并禁用进一步的选项处理。

--带宽=名称
为按名称标识的沙箱设置带宽限制,请参阅 交通 成型
部分了解更多详情。

--带宽=pid
为 PID 标识的沙箱设置带宽限制,请参阅 交通 成型 部分
,了解更多详情。

--bind=目录名1,目录名2
在 dirname1 之上挂载绑定 dirname2。 此选项仅在运行时可用
沙箱作为根。

示例:
# firejail --bind=/config/www,在/ var / WWW

--bind=文件名1,文件名2
在文件名 1 的顶部挂载绑定文件名 2。 此选项仅在以下情况下可用
以 root 身份运行。

示例:
# firejail --bind=/config/etc/passwd,/ etc / passwd文件

--blacklist=目录名或文件名
黑名单目录或文件。

示例:
$火狱--黑名单=/宾 --黑名单=/ usr / sbin
$火狱--黑名单=〜/.mozilla
$ firejail "--blacklist=/home/username/我的虚拟机"

-c 执行命令并退出。

--大写 Linux 功能是一个内核功能,旨在将 root 权限拆分为
一组不同的特权。 可以启用或禁用这些权限
独立运行,从而限制以 root 身份运行的进程可以在
系统。

默认情况下,root 程序在启用所有功能的情况下运行。 --caps 选项禁用
以下功能:CAP_SYS_MODULE、CAP_SYS_RAWIO、CAP_SYS_BOOT、
CAP_SYS_NICE、CAP_SYS_TTY_CONFIG、CAP_SYSLOG、CAP_MKNOD、CAP_SYS_ADMIN。 过滤器
应用于沙箱中启动的所有进程。

示例:
$ sudo firejail --caps "/etc/init.d/nginx start && sleep inf"

--caps.drop=全部
删除在沙箱中运行的进程的所有功能。 这个选项是
推荐用于运行 GUI 程序或任何其他不需要 root 的程序
特权。 它是沙箱安装不受信任程序的必备选项
来自非官方来源——例如游戏、Java 程序等。

示例:
$ firejail --caps.drop=所有 warzone2100

--caps.drop=能力,能力,能力
定义自定义黑名单 Linux 功能过滤器。

示例:
$ firejail --caps.keep=net_broadcast,net_admin,net_raw

--caps.keep=能力,能力,能力
定义自定义白名单 Linux 功能过滤器。

示例:
$ sudo firejail --caps.keep=chown,net_bind_service,setgid,\setuid
/etc/init.d/nginx 启动

关于混合 --whitelist 和 --read-only 选项的简短说明。 白名单
目录应该独立地设置为只读。 使父目录读取-
only,不会使白名单只读。 例子:
$火狱--白名单=〜/工作 --只读=~/ --只读=〜/工作

--caps.print=名称
打印按名称标识的沙箱的 caps 过滤器。

示例:
$ firejail --name=mygame --caps.drop=all warzone2100 &
[...]
$ firejail --caps.print=mygame

--caps.print=pid
打印由 PID 标识的沙箱的 caps 过滤器。

示例:
$ firejail --list
3272:netblue:firejail --私人火狐
$火狱--caps.print=3272

--cgroup=任务文件
将沙箱放在指定的控制组中。 任务文件是完整路径
cgroup 任务文件。

示例:
# firejail --cgroup=/sys/fs/cgroup/g1/tasks

--chroot=目录名
将沙箱chroot 到根文件系统中。 如果沙箱作为常规启动
用户、默认 seccomp 和功能过滤器已启用。

示例:
$ firejail --chroot=/media/ubuntu warzone2100

--cpu=cpu 编号,cpu 编号,cpu 编号
设置 CPU 亲和性。

示例:
$ firejail --cpu=0,1 手刹

--csh 使用 /bin/csh 作为默认用户 shell。

示例:
$火狱--csh

-调试
打印调试消息。

示例:
$ firejail --调试火​​狐

--调试黑名单
调试黑名单。

示例:
$ firejail --debug-blacklists 火狐

--调试上限
打印当前 Firejail 软件构建中所有已识别的功能并退出。

示例:
$ firejail --debug-caps

--调试检查文件名
调试文件名检查。

示例:
$ firejail --debug-check-文件名 firefox

--调试错误
打印当前 Firejail 软件构建中所有已识别的错误编号并退出。

示例:
$ firejail --debug-errnos

--调试协议
打印当前 Firejail 软件构建中所有已识别的协议并退出。

示例:
$ firejail --调试协议

--debug-系统调用
打印当前 Firejail 软件构建中所有已识别的系统调用并退出。

示例:
$ firejail --debug-系统调用

--调试白名单
调试白名单。

示例:
$ firejail --debug-白名单 firefox

--defaultgw=地址
将此地址用作新网络命名空间中的默认网关。

示例:
$ firejail --net=eth0 --defaultgw=10.10.20.1 火狐

--dns=地址
为沙箱设置 DNS 服务器。 最多可以定义三个 DNS 服务器。 用这个
如果您不信任网络上的 DNS 设置,请选择此选项。

示例:
$ firejail --dns=8.8.8.8 --dns=8.8.4.4 火狐

--dns.print=名称
打印按名称标识的沙箱的 DNS 配置。

示例:
$ firejail --name=mygame --caps.drop=all warzone2100 &
[...]
$ firejail --dns.print=mygame

--dns.print=pid
打印由 PID 标识的沙箱的 DNS 配置。

示例:
$ firejail --list
3272:netblue:firejail --私人火狐
$火狱--dns.print=3272

--env=名称=值
在新沙箱中设置环境变量。

示例:
$ firejail --env=LD_LIBRARY_PATH=/opt/test/lib

- 力量
默认情况下,如果 Firejail 在现有沙箱中启动,它将运行程序
在 bash shell 中。 此选项禁用此行为,并尝试启动
现有沙箱中的 Firejail。 失败的原因可能有很多,
例如,如果现有沙箱禁用管理功能、SUID 二进制文件或
如果它运行 seccomp。

--fs.print=名称
打印由名称标识的沙箱的文件系统日志。

示例:
$ firejail --name=mygame --caps.drop=all warzone2100 &
[...]
$ firejail --fs.print=mygame

--fs.print=pid
打印由 PID 标识的沙箱的文件系统日志。

示例:
$ firejail --list
3272:netblue:firejail --私人火狐
$火狱--fs.print=3272

-?, - 帮帮我
打印选项结束退出。

--主机名=名称
设置沙箱主机名。

示例:
$ firejail --hostname=officepc 火狐

--忽略=命令
忽略配置文件中的命令。

示例:
$ firejail --ignore=shell --ignore=seccomp firefox

--interface=接口
在新的网络命名空间中移动接口。 最多可以有四个 --interface 选项
指定的。

示例:
$ firejail --interface=eth1 --interface=eth0.vlan100

--ip=地址
将 IP 地址分配给由 --net 选项定义的最后一个网络接口。 一种
默认网关是默认分配的。

示例:
$ firejail --net=eth0 --ip=10.10.20.56 火狐

--ip=无
没有为最后定义的接口配置 IP 地址和默认网关
通过 --net 选项。 如果您打算启动外部 DHCP,请使用此选项
沙箱中的客户端。

示例:
$ firejail --net=eth0 --ip=none

--ip6=地址
将 IPv6 地址分配给由 --net 选项定义的最后一个网络接口。

示例:
$ firejail --net=eth0 --ip6=2001:0db8:0:f101::1/64 firefox

--iprange=地址,地址
将提供范围内的 IP 地址分配给由以下定义的最后一个网络接口
一个 --net 选项。 默认情况下会分配一个默认网关。

示例:
$ firejail --net=eth0 --iprange=192.168.1.100,192.168.1.150

--ipc-命名空间
如果沙箱以普通用户身份启动,则启用新的 IPC 命名空间。 工控机
默认情况下,为以 root 身份启动的沙箱启用命名空间。

示例:
$ firejail --ipc-命名空间 firefox

--join=名称
加入由名称标识的沙箱。 默认情况下 / bin / bash shell 是在之后启动的
加入沙箱。 如果指定了程序,则该程序在沙箱中运行。
如果以普通用户身份发出 --join 命令,则配置所有安全过滤器
对于新进程,它们在沙箱中配置相同。 如果 --join 命令
以 root 身份发布,安全过滤器、cgroups 和 cpu 配置不是
应用于加入沙箱的进程。

示例:
$ firejail --name=mygame --caps.drop=all warzone2100 &
[...]
$ firejail --join=mygame

--加入=pid
加入由进程 ID 标识的沙箱。 默认情况下 / bin / bash 外壳已启动
加入沙箱后。 如果指定了程序,则该程序在
沙箱。 如果以普通用户身份发出 --join 命令,则所有安全过滤器
新进程的配置与沙箱中的配置相同。 如果
--join 命令以 root、安全过滤器、cgroups 和 cpu 的身份发出
配置不适用于加入沙箱的进程。

示例:
$ firejail --list
3272:netblue:firejail --私人火狐
$火狱--加入=3272

--join-filesystem=名称
加入由名称标识的沙箱的挂载命名空间。 默认情况下 / bin / bash
加入沙箱后启动shell。 如果指定了程序,则程序
在沙箱中运行。 此命令仅对 root 用户可用。 安全
过滤器、cgroups 和 cpu 配置不适用于加入该进程的进程
沙箱。

--join-文件系统=pid
加入由进程 ID 标识的沙箱的挂载命名空间。 默认情况下
/ bin / bash 加入沙箱后启动shell。 如果指定了一个程序,
程序在沙箱中运行。 此命令仅对 root 用户可用。
安全过滤器、cgroups 和 cpu 配置不适用于进程
加入沙箱。

--join-network=名称
加入由名称标识的沙箱的网络命名空间。 默认情况下
/ bin / bash 加入沙箱后启动shell。 如果指定了一个程序,
程序在沙箱中运行。 此命令仅对 root 用户可用。
安全过滤器、cgroups 和 cpu 配置不适用于进程
加入沙箱。

--加入网络=pid
加入进程ID标识的沙箱的网络命名空间。 默认情况下
/ bin / bash 加入沙箱后启动shell。 如果指定了一个程序,
程序在沙箱中运行。 此命令仅对 root 用户可用。
安全过滤器、cgroups 和 cpu 配置不适用于进程
加入沙箱。

- 列表 列出所有沙箱,请参阅 监测 部分了解更多详情。

示例:
$ firejail --list
7015:netblue:firejail 火狐
7056:netblue:firejail --net=eth0 传输-gtk
7064:netblue:firejail --noroot xterm
$

--mac=地址
将 MAC 地址分配给由 --net 选项定义的最后一个网络接口。

示例:
$ firejail --net=eth0 --mac=00:11:22:33:44:55 火狐

--mtu=数字
将 MTU 值分配给由 --net 选项定义的最后一个网络接口。

示例:
$ firejail --net=eth0 --mtu=1492

--name=名字
设置沙箱名称。 几个选项,例如--join 和--shutdown,可以使用这个名称
识别沙箱。

示例:
$ firejail --name=mybrowser 火狐

--net=桥接口
启用新的网络命名空间并将其连接到此桥接接口。 除非
使用选项 --ip 和 --defaultgw 指定,IP 地址和默认网关
将自动分配给沙箱。 使用 ARP 验证 IP 地址
在分配之前。 配置为默认网关的地址是桥接设备
IP地址。 最多可以定义四个 --net 网桥设备。 混合桥和
macvlan 设备是允许的。

示例:
$ 须藤 brctl addbr br0
$ sudo ifconfig br0 10.10.20.1/24
$ 须藤 brctl addbr br1
$ sudo ifconfig br1 10.10.30.1/24
$火狱--net=br0 --net=br1

--net=以太网接口
启用新的网络命名空间并使用
标准的 Linux macvlan 驱动程序。 除非用选项 --ip 和 --defaultgw 指定,
IP 地址和默认网关将自动分配给沙箱。
IP 地址在分配前使用 ARP 进行验证。 地址配置为
默认网关是主机的默认网关。 最多可以连接四个 --net 设备
定义。 允许混合使用网桥和 macvlan 设备。

示例:
$ firejail --net=eth0 --ip=192.168.1.80 --dns=8.8.8.8 火狐

--net=无
启用一个新的、未连接的网络命名空间。 唯一可用的界面
new 命名空间是一个新的环回接口 (lo)。 使用此选项拒绝网络
访问不需要网络访问的程序。

示例:
$ firejail --net=none vlc

--网络过滤器
在新的网络命名空间中启用默认客户端网络过滤器。 新网络
命名空间是使用 --net 选项创建的。 如果新的网络命名空间不是
创建后,--netfilter 选项什么都不做。 默认过滤器如下:

*筛选
:输入下降[0:0]
:向前下降 [0:0]
:输出接受[0:0]
-A 输入 -i lo -j 接受
-A 输入 -m 状态 --state 相关,已建立 -j 接受
-A 输入 -p icmp --icmp 类型目的地不可达 -j 接受
-A INPUT -p icmp --icmp 类型超时 -j ACCEPT
-A INPUT -p icmp --icmp-type echo-r​​equest -j ACCEPT
犯罪

示例:
$ firejail --net=eth0 --netfilter 火狐

--netfilter=文件名
在新的网络命名空间中启用由 filename 指定的网络过滤器。 这
filter 文件格式是 iptables-save 和 iptable-restore 命令的格式。
使用 --net 选项创建新的网络命名空间。 如果一个新的网络命名空间
未创建,--netfilter 选项不执行任何操作。

/etc/firejail 目录中提供以下过滤器:

网络服务器.net 是一个网络服务器过滤器,只允许访问 TCP 端口 80 和
443。 例:

$ firejail --netfilter=/etc/firejail/webserver.net --net=eth0 \
/etc/init.d/apache2 开始

本地网 是禁止访问本地网络的客户端过滤器。 例子:

$ firejail --netfilter=/etc/firejail/nolocal.net \
--net=eth0 火狐

--netfilter6=文件名
在新的网络命名空间中启用由 filename 指定的 IPv6 网络过滤器。
过滤文件格式为ip6tables-save和ip6table-restore的格式
命令。 使用 --net 选项创建新的网络命名空间。 如果一个新的网络
未创建命名空间,--netfilter6 选项不执行任何操作。

--netstats
监控网络命名空间统计信息,请参见 监测 部分了解更多详情。

示例:

$火狱--netstats
PID 用户 RX(KB/s) TX(KB/s) 命令
1294 网蓝 53.355 1.473 火狱 --net=eth0 火狐
7383 netblue 9.045 0.112 firejail --net=eth0 传输

--noblacklist=目录名或文件名
禁用此目录或文件的黑名单。

示例:
$火狱
$ nc 字典.org 2628
重击: /bin/nc: 没有权限
$出口

$ firejail --noblacklist=/bin/nc
$ nc 字典.org 2628
220 pan.alephnull.com dictd 1.12.1/rf 在 Linux 3.14-1-amd64

--无组
禁用补充组。 如果没有此选项,将启用补充组
对于启动沙箱的用户。 对于 root 用户,补充组总是
禁用。

示例:
$标识
uid=1000(网蓝) gid=1000(网蓝)
groups=1000(netblue),24(cdrom),25(floppy),27(sudo),29(audio)
$ firejail --nogroups
父pid 8704,子pid 8705
子进程初始化
$标识
uid=1000(netblue) gid=1000(netblue) 组=1000(netblue)
$

--无配置文件
不要使用安全配置文件。

示例:
$火狱
读取配置文件 /etc/firejail/generic.profile
父pid 8553,子pid 8554
子进程初始化
[...]

$ firejail --noprofile
父pid 8553,子pid 8554
子进程初始化
[...]

- 无根
使用单个用户安装用户命名空间 - 当前用户。 root 用户没有
存在于新的命名空间中。 此选项需要 Linux 内核版本 3.8 或
较新。 --chroot 和 --overlay 配置不支持该选项,或者
对于以 root 身份启动的沙箱。

示例:
$ firejail --noroot
父pid 8553,子pid 8554
子进程初始化
$ ping google.com
ping: icmp open socket: 不允许操作
$

- 没有声音
禁用音响系统。

示例:
$ firejail --nosound Firefox

--输出=日志文件
标准输出日志记录和日志轮换。 将标准输出复制到日志文件,并保持其大小
使用日志轮换小于 500KB 的文件。 五个前缀为 .1 到 .5 的文件用于
回转。

示例:
$ firejail --output=sandboxlog / bin / bash
[...]
$ ls -l 沙箱日志*
-rw-r--r-- 1 netblue netblue 333890 六月 2 07:48 沙箱日志
-rw-r--r-- 1 netblue netblue 511488 六月 2 07:48 sandboxlog.1
-rw-r--r-- 1 netblue netblue 511488 六月 2 07:48 sandboxlog.2
-rw-r--r-- 1 netblue netblue 511488 六月 2 07:48 sandboxlog.3
-rw-r--r-- 1 netblue netblue 511488 六月 2 07:48 sandboxlog.4
-rw-r--r-- 1 netblue netblue 511488 六月 2 07:48 sandboxlog.5

- 覆盖
在当前文件系统之上挂载文件系统覆盖。 所有文件系统
修改进入覆盖层。 叠加层存储在 $HOME/.firejail 中
目录。

Linux 内核需要 OverlayFS 支持才能使用此选项。 覆盖FS
在 Linux 内核版本 3.18 中正式引入

示例:
$ firejail --overlay firefox

--overlay-tmpfs
在当前文件系统之上挂载文件系统覆盖。 所有文件系统
修改进入覆盖层,并在沙箱关闭时被丢弃。

Linux 内核需要 OverlayFS 支持才能使用此选项。 覆盖FS
在 Linux 内核版本 3.18 中正式引入

示例:
$ firejail --overlay-tmpfs 火狐

- 私人的
挂载新的 /根 和 /home/user 临时文件系统中的目录。 全部
当沙箱关闭时,修改将被丢弃。

示例:
$ firejail --私有火狐

--private=目录
使用目录作为用户家。

示例:
$ firejail --private=/home/netblue/firefox-home firefox

--private-bin=文件,文件
建立一个新的 /箱 在临时文件系统中,并复制列表中的程序。 这
相同的目录也被绑定挂载 /宾, / usr / bin 和 /usr/sbin。

示例:
$ firejail --private-bin=bash,sed,ls,cat
父pid 20841,子pid 20842
子进程初始化
$ls /箱
bash 猫 ls sed

--私有开发
创建一个新的 的/ dev 目录。 只有 dri, null, full, zero, tty, pts, ptmx, random,
urandom、log 和 shm 设备可用。

示例:
$ firejail --private-dev
父pid 9887,子pid 9888
子进程初始化
$ls 的/ dev
dri full log null ptmx pts random shm tty urandom 零
$

--private-etc=文件,目录
建立一个新的 /等 在临时文件系统中,并将文件和目录复制到
列表。 当沙箱关闭时,所有修改都将被丢弃。

示例:
$ firejail --private-etc=group,hostname,localtime,\
nsswitch.conf,密码,resolv.conf

--私人-tmp
在上面挂载一个空的临时文件系统 / tmp目录 目录。

示例:
$ firejail --private-tmp

--profile=文件名
从文件名加载自定义安全配置文件。 对于文件名,使用绝对路径或
相对于当前路径的路径。 有关更多信息,请参阅 保安 PROFILES
以下部分。

示例:
$ firejail --profile=我的个人资料

--profile-path=目录
使用此目录查找配置文件。 使用绝对路径或路径
主目录以 〜/。 欲了解更多信息,请参阅 保安 PROFILES
下面的部分和 搬迁 FILES in 男子 5 firejail配置文件.

示例:
$ firejail --profile-path=〜/我的个人资料
$ firejail --profile-path=/home/netblue/myprofiles

--protocol=协议,协议,协议
启用协议过滤器。 过滤器基于 seccomp 并检查第一个
套接字系统调用的参数。 识别值:unix、inet、inet6、netlink 和
包。

示例:
$ firejail --protocol=unix,inet,inet6 火狐

--protocol.print=名称
打印按名称标识的沙箱的协议过滤器。

示例:
$ firejail --name=mybrowser firefox &
[...]
$ firejail --print.print=mybrowser
UNIX、inet、inet6、netlink

--protocol.print=pid
打印由 PID 标识的沙箱的协议过滤器。

示例:
$ firejail --list
3272:netblue:firejail --私人火狐
$ firejail --protocol.print=3272
UNIX、inet、inet6、netlink

- 安静的
关闭 Firejail 的输出。

--read-only=目录名或文件名
将目录或文件设置为只读。

示例:
$ firejail --只读=〜/.mozilla 火狐

--rlimit-fsize=数字
设置进程可以创建的最大文件大小。

--rlimit-nofile=数字
设置一个进程可以打开的最大文件数。

--rlimit-nproc=数字
设置为真实用户ID可以创建的最大进程数
调用过程。

--rlimit-sigpending=数字
设置进程的最大挂起信号数。

- 扫描 ARP 扫描来自网络命名空间内的所有网络。 这使得有可能
检测当前主机上运行的 macvlan 内核设备驱动程序。

示例:
$ firejail --net=eth0 --scan

--seccomp
启用 seccomp 过滤器并将默认列表中的系统调用列入黑名单。 默认的
列表如下:mount、umount2、ptrace、kexec_load、kexec_file_load、
open_by_handle_at、init_module、finit_module、delete_module、iopl、ioperm、swapon、
交换、系统日志、process_vm_readv、process_vm_writev、sysfs、_sysctl、adjtimex、
时钟调整时间、lookup_dcookie、perf_event_open、fanotify_init、kcmp、add_key、
request_key、keyctl、uselib、acct、modify_ldt、pivot_root、io_setup、io_destroy、
io_getevents、io_submit、io_cancel、remap_file_pages、mbind、get_mempolicy、
set_mempolicy、migrate_pages、move_pages、vmsplice、perf_event_open 和 chroot。

示例:
$火狱--seccomp

--seccomp=系统调用,系统调用,系统调用
启用 seccomp 过滤器,将默认列表和指定的系统调用列入黑名单
命令。

示例:
$ firejail --seccomp=utime,utimensat,utimes firefox

--seccomp.drop=系统调用,系统调用,系统调用
启用 seccomp 过滤器,并将命令指定的系统调用列入黑名单。

示例:
$ firejail --seccomp.drop=utime,utimensat,utimes

--seccomp.keep=系统调用,系统调用,系统调用
启用 seccomp 过滤器,并将命令指定的系统调用列入白名单。

示例:
$ firejail --shell=none --seccomp.keep=poll,select,[...] 传输-gtk

--seccomp. =系统调用,系统调用,系统调用
启用 seccomp 过滤器,并为命令指定的系统调用返回 errno。

示例:禁用删除文件的 Bash shell

$ firejail --seccomp.eperm=unlinkat
父pid 10662,子pid 10663
子进程初始化
$ 触摸测试文件
$ rm 测试文件
rm: 无法删除 `testfile': 不允许操作

--seccomp.print=名称
打印使用 --name 选项启动的沙箱的 seccomp 过滤器。

示例:
$ firejail --name=浏览器firefox &
$ firejail --seccomp.print=浏览器
SECCOMP 过滤器:
验证架构
EXAMINE_SYSCALL
黑名单 165 坐骑
黑名单 166 umount2
黑名单 101 ptrace
第246话
黑名单 304 open_by_handle_at
第175话
第 176 回
第 172 章
第173话
黑名单 167
黑名单 168 交换
黑名单 103 系统日志
黑名单 310 process_vm_readv
黑名单 311 process_vm_writev
黑名单 133 mknod
黑名单 139 sysfs
第156话
第159话
黑名单 305 clock_adjtime
黑名单 212 lookup_dcookie
黑名单 298 perf_event_open
黑名单 300 fanotify_init
返回_允许
$

--seccomp.print=pid
打印进程 ID 指定的沙箱的 seccomp 过滤器。 使用 --list 选项
获取所有活动沙箱的列表。

示例:
$ firejail --list
10786:netblue:firejail --name=浏览器firefox $ firejail --seccomp.print=10786
SECCOMP 过滤器:
验证架构
EXAMINE_SYSCAL
黑名单 165 坐骑
黑名单 166 umount2
黑名单 101 ptrace
第246话
黑名单 304 open_by_handle_at
第175话
第 176 回
第 172 章
第173话
黑名单 167
黑名单 168 交换
黑名单 103 系统日志
黑名单 310 process_vm_readv
黑名单 311 process_vm_writev
黑名单 133 mknod
黑名单 139 sysfs
第156话
第159话
黑名单 305 clock_adjtime
黑名单 212 lookup_dcookie
黑名单 298 perf_event_open
黑名单 300 fanotify_init
返回_允许
$

--shell=无
直接运行程序,无需用户 shell。

示例:
$ firejail --shell=none script.sh

--shell=程序
设置默认用户外壳。 使用此 shell 使用 -c shell 运行应用程序
选项。 例如“firejail --shell=/斌/破折号 firefox”将启动 Mozilla
Firefox 为“/斌/破折号 -c firefox”。默认情况下 Bash shell (/ bin / bash) 用来。
--zsh 和 --csh 等选项也可以设置默认 shell。

示例:$firejail --shell=/斌/破折号 脚本文件

--关机=名称
使用 --name 选项开始关闭沙箱。

示例:
$ firejail --name=mygame --caps.drop=all warzone2100 &
[...]
$ firejail --shutdown=mygame

--关机=pid
关闭进程 ID 指定的沙箱。 使用 --list 选项获取列表
所有活动的沙箱。

示例:
$ firejail --list
3272:netblue:firejail --私人火狐
$ firejail --shutdown=3272

--tmpfs=目录名
在目录 dirname 上挂载 tmpfs 文件系统。 此选项仅在以下情况下可用
以 root 身份运行沙箱。

示例:
#firejail --tmpfs=/ VAR

- 最佳 监控 CPU 密集程度最高的沙箱,请参阅 监测 部分了解更多详情。

示例:
$ firejail --top

- 痕迹
跟踪打开、访问和连接系统调用。

示例:
$ firejail --trace wget -q www.debian.org
父pid 11793,子pid 11794
子进程初始化
1:bash:打开/dev/tty
1:wget:fopen64 /etc/wgetrc
1:wget:fopen / etc / hosts文件
1:wget:套接字 AF_INET SOCK_DGRAM IPPROTO_IP
1:wget:连接 8.8.8.8:53
1:wget:套接字 AF_INET SOCK_STREAM IPPROTO_IP
1:wget:连接 140.211.15.34:80
1:wget:fopen64索引.html.1

父母正在关闭,再见...

--跟踪日志
此选项启用审核列入黑名单的文件和目录。 发送了一条消息
syslog 以防访问文件或目录。

示例:
$ firejail --tracelog 火狐

示例消息:
$ 须藤尾 -f 在/ var / log / syslog的
[...]
3 月 11 日 43:25:70 debian firejail[26370]:黑名单违规 - 沙箱 XNUMX,exe
火狐,系统调用 open64,路径 / etc /阴影
3 月 11 日 46:17:70 debian firejail[26370]:黑名单违规 - 沙箱 XNUMX,exe
firefox,系统调用 opendir,路径 /启动
[...]

- 树 打印所有沙盒进程的树,请参阅 监测 部分了解更多详情。

示例:
$火狱--树
11903:netblue:firejail 冰鼬
11904:网蓝:冰鼬
11957:netblue:/usr/lib/iceweasel/插件容器
11969:netblue:firejail --net=eth0 传输-gtk
11970:网蓝:传输-gtk

--user=新用户
在启动沙箱之前切换用户。 此命令应以 root 身份运行。

示例:
# firejail --user=www-data

- 版
打印程序版本并退出。

示例:
$火狱--版本
火狱版本 0.9.27

--whitelist=目录名或文件名
白名单目录或文件。 此功能仅针对用户家实现, 的/ dev,
/半, /选择, / VAR/ tmp目录 目录。

示例:
$火狱--白名单=〜/.mozilla --白名单=〜/下载
$火狱--白名单=/tmp/.X11-unix --whitelist=/dev/null
$ firejail "--whitelist=/home/username/我的虚拟机"

--zsh 使用 /usr/bin/zsh 作为默认用户 shell。

示例:
$火狱--zsh

交通 成型


网络带宽是在系统上运行的所有沙箱之间共享的昂贵资源。
流量整形允许用户通过控制数量来提高网络性能
流入和流出沙箱的数据。

Firejail 基于 Linux 命令 tc 实现了一个简单的限速整形器。 塑造者
在沙箱级别工作,并且只能用于配置了新网络的沙箱
命名空间。

设置速率限制:

firejail --bandwidth={name|pid} 设置网络下载上传

清除速率限制:

firejail --bandwidth={name|pid} 清除网络

库存状态:

firejail --bandwidth={name|pid} 状态

其中:
名称 - 沙箱名称
pid - 沙盒 pid
network - --net 选项使用的网络接口
下载 - 以 KB/s 为单位的下载速度(每秒千字节)
上传 - 以 KB/s 为单位的上传速度(每秒千字节)

示例:
$ firejail --name=mybrowser --net=eth0 firefox &
$ firejail --bandwidth=mybrowser 设置 eth0 80 20
$ firejail --bandwidth=mybrowser 状态
$ firejail --bandwidth=mybrowser 清除 eth0

监测


选项 --list 打印所有沙箱的列表。 每个流程条目的格式为
如下:

PID:用户:命令

选项 --tree 打印在沙箱中运行的进程树。 每个的格式
流程入口如下:

PID:用户:命令

选项 --top 类似于 UNIX top 命令,但它仅适用于沙箱。

选项 --netstats 打印安装新网络的活动沙箱的网络统计信息
命名空间。

下面列出了按字母顺序排列的 --top 和可用字段(列)
--netstat 选项:

命令
用于启动沙箱的命令。

CPU% CPU 使用率,自上次屏幕更新以来经过的 CPU 时间的沙箱份额

PID 控制沙箱的任务的唯一进程 ID。

Prcs 在沙箱中运行的进程数,包括控制进程。

RES 驻留内存大小 (KiB),沙盒非交换物理内存。 它是一个总和
在沙箱中运行的所有进程的 RES 值。

接收(KB/s)
网络接收速度。

SHR 共享内存大小 (KiB),它反映了与其他进程共享的内存。 它是一个
在沙箱中运行的所有进程的 SHR 值的总和,包括
控制过程。

发送(KB/s)
网络传输速度。

运行时间沙盒运行时间以小时:分钟:秒格式。

用户 沙箱的所有者。

保安 PROFILES


可以使用配置文件将多个命令行选项传递给程序。 火狱
选择配置文件如下:

1. 如果配置文件是由用户提供的 --profile 选项,则配置文件为
加载。 例子:

$ firejail --profile=/home/netblue/icecat.profileicecat
阅读简介 /home/netblue/icecat.profile
[...]

2. 如果与应用程序同名的配置文件存在于
〜/.config/firejail 目录或 /etc/firejail 中,加载配置文件。
〜/.config/firejail 优先于 /etc/firejail。 例子:

$ firejail冰猫
命令名称#icecat#
在 /home/netblue/.config/firejail 目录中找到 icecat 配置文件
读取配置文件 /home/netblue/.config/firejail/icecat.profile
[...]

3. 如果沙箱是由普通用户启动的,则使用 default.profile 文件,或者 server.profile
如果沙箱是由 root 启动的。 Firejail 在中查找这些文件
〜/.config/firejail 目录,然后是 /etc/firejail 目录。 禁用默认
配置文件加载,使用 --noprofile 命令选项。 例子:

$火狱
读取配置文件 /etc/firejail/generic.profile
父pid 8553,子pid 8554
子进程初始化
[...]

$ firejail --noprofile
父pid 8553,子pid 8554
子进程初始化
[...]

有关配置文件语法信息,请参阅 man 5 firejail-profile。

受限 SHELL


要配置受限外壳,请替换 / bin / bash 在 /etc/password 中使用 /usr/bin/firejail
需要限制的每个用户的文件。 或者,您可以指定
/usr/bin/firejail 在 adduser 命令中:

adduser --shell /usr/bin/firejail 用户名

登录时传递给 firejail 可执行文件的附加参数在
/etc/firejail/login.users 文件。

示例


火狱
开始定期 / bin / bash 沙箱中的会话。

火狱火狐
启动 Mozilla Firefox。

firejail——调试火狐
调试 Firefox 沙箱。

火狱——私人
开始 / bin / bash 会话与新的 tmpfs 主目录。

火狱--net=br0 ip=10.10.20.10
开始 / bin / bash 新网络命名空间中的会话。 会话连接到
主网使用br0桥接设备。 分配了 10.10.20.10 的 IP 地址
到沙箱。

火监狱 --net=br0 --net=br1 --net=br2
开始 / bin / bash 在新的网络命名空间中创建会话并将其连接到 br0、br1、
和 br2 主机桥接设备。

火狱——列表
列出所有沙盒进程。

使用 onworks.net 服务在线使用 firejail


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad