1FIREJAIL-PROFILE(5) firejail profiles man page FIREJAIL-PROFILE(5)
2
3
4
6 profile - Security profile file syntax for Firejail
7
8
10 firejail --profile=filename.profile
11 firejail --profile=profile_name
12
13
15 Several command line options can be passed to the program using profile
16 files. Firejail chooses the profile file as follows:
17
18 1. If a profile file is provided by the user with --profile option, the
19 profile file is loaded. If a profile name is given, it is searched for
20 first in the ~/.config/firejail directory and if not found then in
21 /etc/firejail directory. Profile names do not include the .profile suf‐
22 fix. Example:
23
24 $ firejail --profile=/home/netblue/icecat.profile icecat
25 Reading profile /home/netblue/icecat.profile
26 [...]
27
28
29 $ firejail --profile=icecat icecat-wrapper.sh
30 Reading profile /etc/firejail/icecat.profile
31 [...]
32
33 2. If a profile file with the same name as the application is present
34 in ~/.config/firejail directory or in /etc/firejail, the profile is
35 loaded. ~/.config/firejail takes precedence over /etc/firejail. Exam‐
36 ple:
37
38 $ firejail icecat
39 Command name #icecat#
40 Found icecat profile in /home/netblue/.config/firejail directory
41 Reading profile /home/netblue/.config/firejail/icecat.profile
42 [...]
43
44 3. Use a default.profile file if the sandbox is started by a regular
45 user, or a server.profile file if the sandbox is started by root. Fire‐
46 jail looks for these files in ~/.config/firejail directory, followed by
47 /etc/firejail directory. To disable default profile loading, use
48 --noprofile command option. Example:
49
50 $ firejail
51 Reading profile /etc/firejail/default.profile
52 Parent pid 8553, child pid 8554
53 Child process initialized
54 [...]
55
56 $ firejail --noprofile
57 Parent pid 8553, child pid 8554
58 Child process initialized
59 [...]
60
61
63 In /usr/share/doc/firejail there are two templates to write new pro‐
64 files.
65 profile.template - for regular profiles
66 redirect_alias-profile.template - for aliasing/redirecting pro‐
67 files
68
69
70
72 Scripting commands:
73
74
75 File and directory names
76 File and directory names containing spaces are supported. The
77 space character ' ' should not be escaped.
78
79 Example: "blacklist ~/My Virtual Machines"
80
81
82 # this is a comment
83
84
85 ?CONDITIONAL: profile line
86 Conditionally add profile line.
87
88 Example: "?HAS_APPIMAGE: whitelist ${HOME}/special/appimage/dir"
89
90 This example will load the whitelist profile line only if the
91 --appimage option has been specified on the command line.
92
93 Currently the only conditionals supported this way are
94 HAS_APPIMAGE, HAS_NET, HAS_NODBUS, HAS_NOSOUND and HAS_X11. The
95 conditionals BROWSER_DISABLE_U2F and BROWSER_ALLOW_DRM can be
96 enabled or disabled globally in Firejail's configuration file.
97
98 The profile line may be any profile line that you would normally
99 use in a profile except for "quiet" and "include" lines.
100
101
102 include other.profile
103 Include other.profile file.
104
105 Example: "include /etc/firejail/disable-common.inc"
106
107 The file name can be prefixed with a macro such as ${HOME} or
108 ${CFG}. ${HOME} is expanded as user home directory, and ${CFG}
109 is expanded as Firejail system configuration directory - in most
110 cases /etc/firejail or /usr/local/etc/firejail.
111
112 Example: "include ${HOME}/myprofiles/profile1" will load
113 "~/myprofiles/profile1" file.
114
115 Example: "include ${CFG}/firefox.profile" will load "/etc/fire‐
116 jail/firefox.profile" file.
117
118 The file name may also be just the name without the leading
119 directory components. In this case, first the user config
120 directory (${HOME}/.config/firejail) is searched for the file
121 name and if not found then the system configuration directory is
122 search for the file name. Note: Unlike the --profile option
123 which takes a profile name without the '.profile' suffix,
124 include must be given the full file name.
125
126 Example: "include firefox.profile" will load "${HOME}/.con‐
127 fig/firejail/firefox.profile" file and if it does not exist
128 "${CFG}/firefox.profile" will be loaded.
129
130 System configuration files in ${CFG} are overwritten during
131 software installation. Persistent configuration at system level
132 is handled in ".local" files. For every profile file in ${CFG}
133 directory, the user can create a corresponding .local file stor‐
134 ing modifications to the persistent configuration. Persistent
135 .local files are included at the start of regular profile files.
136
137
138 noblacklist file_name
139 If the file name matches file_name, the file will not be black‐
140 listed in any blacklist commands that follow.
141
142 Example: "noblacklist ${HOME}/.mozilla"
143
144
145 nowhitelist file_name
146 If the file name matches file_name, the file will not be
147 whitelisted in any whitelist commands that follow.
148
149 Example: "nowhitelist ~/.config"
150
151
152 ignore Ignore command.
153
154 Example: "ignore seccomp"
155 Example: "ignore net eth0"
156
157 quiet Disable Firejail's output. This should be the first uncommented
158 command in the profile file.
159
160 Example: "quiet"
161
162
164 These profile entries define a chroot filesystem built on top of the
165 existing host filesystem. Each line describes a file/directory that is
166 inaccessible (blacklist), a read-only file or directory (read-only), a
167 tmpfs mounted on top of an existing directory (tmpfs), or mount-bind a
168 directory or file on top of another directory or file (bind). Use pri‐
169 vate to set private mode. File globbing is supported, and PATH and
170 HOME directories are searched, see the firejail FILE GLOBBING section
171 for more details. Examples:
172
173 blacklist file_or_directory
174 Blacklist directory or file. Examples:
175
176 blacklist /usr/bin
177 blacklist /usr/bin/gcc*
178 blacklist ${PATH}/ifconfig
179 blacklist ${HOME}/.ssh
180
181
182 blacklist-nolog file_or_directory
183 When --tracelog flag is set, blacklisting generates syslog mes‐
184 sages if the sandbox tries to access the file or directory.
185 blacklist-nolog command disables syslog messages for this par‐
186 ticular file or directory. Examples:
187
188 blacklist-nolog /usr/bin
189 blacklist-nolog /usr/bin/gcc*
190
191
192 bind directory1,directory2
193 Mount-bind directory1 on top of directory2. This option is only
194 available when running as root.
195
196 bind file1,file2
197 Mount-bind file1 on top of file2. This option is only available
198 when running as root.
199
200 disable-mnt
201 Disable /mnt, /media, /run/mount and /run/media access.
202
203 keep-dev-shm
204 /dev/shm directory is untouched (even with private-dev).
205
206 keep-var-tmp
207 /var/tmp directory is untouched.
208
209 mkdir directory
210 Create a directory in user home, under /tmp, or under
211 /run/user/<UID> before the sandbox is started. The directory is
212 created if it doesn't already exist.
213
214 Use this command for whitelisted directories you need to pre‐
215 serve when the sandbox is closed. Without it, the application
216 will create the directory, and the directory will be deleted
217 when the sandbox is closed. Subdirectories are recursively cre‐
218 ated. Example from firefox profile:
219
220 mkdir ~/.mozilla
221 whitelist ~/.mozilla
222 mkdir ~/.cache/mozilla/firefox
223 whitelist ~/.cache/mozilla/firefox
224
225 For files in /run/user/<PID> use ${RUNUSER} macro:
226
227 mkdir ${RUNUSER}/firejail-testing
228
229 mkfile file
230 Similar to mkdir, this command creates an empty file in user
231 home, or /tmp, or under /run/user/<UID> before the sandbox is
232 started. The file is created if it doesn't already exist.
233
234 noexec file_or_directory
235 Remount the file or the directory noexec, nodev and nosuid.
236
237 overlay
238 Mount a filesystem overlay on top of the current filesystem.
239 The overlay is stored in $HOME/.firejail/<PID> directory.
240
241 overlay-named name
242 Mount a filesystem overlay on top of the current filesystem.
243 The overlay is stored in $HOME/.firejail/name directory.
244
245 overlay-tmpfs
246 Mount a filesystem overlay on top of the current filesystem.
247 All filesystem modifications are discarded when the sandbox is
248 closed.
249
250 private
251 Mount new /root and /home/user directories in temporary filesys‐
252 tems. All modifications are discarded when the sandbox is
253 closed.
254
255 private directory
256 Use directory as user home.
257
258 private-bin file,file
259 Build a new /bin in a temporary filesystem, and copy the pro‐
260 grams in the list. The files in the list must be expressed as
261 relative to the /bin, /sbin, /usr/bin, /usr/sbin, or
262 /usr/local/bin directories. The same directory is also bind-
263 mounted over /sbin, /usr/bin and /usr/sbin.
264
265 private-cache
266 Mount an empty temporary filesystem on top of the .cache direc‐
267 tory in user home. All modifications are discarded when the
268 sandbox is closed.
269
270 private-cwd
271 Set working directory inside jail to the home directory, and
272 failing that, the root directory.
273
274 private-cwd directory
275 Set working directory inside the jail.
276
277 private-dev
278 Create a new /dev directory. Only disc, dri, dvb, hidraw, null,
279 full, zero, tty, pts, ptmx, random, snd, urandom, video, log,
280 shm and usb devices are available. Use the options no3d, nodvd,
281 nosound, notv, nou2f and novideo for additional restrictions.
282
283
284 private-etc file,directory
285 Build a new /etc in a temporary filesystem, and copy the files
286 and directories in the list. The files and directories in the
287 list must be expressed as relative to the /etc directory. All
288 modifications are discarded when the sandbox is closed.
289
290 private-home file,directory
291 Build a new user home in a temporary filesystem, and copy the
292 files and directories in the list in the new home. The files
293 and directories in the list must be expressed as relative to the
294 current user's home directory. All modifications are discarded
295 when the sandbox is closed.
296
297 private-lib file,directory
298 Build a new /lib directory and bring in the libraries required
299 by the application to run. The files and directories in the
300 list must be expressed as relative to the /lib directory. This
301 feature is still under development, see man 1 firejail for some
302 examples.
303
304 private-opt file,directory
305 Build a new /opt in a temporary filesystem, and copy the files
306 and directories in the list. The files and directories in the
307 list must be expressed as relative to the /opt directory. All
308 modifications are discarded when the sandbox is closed.
309
310 private-srv file,directory
311 Build a new /srv in a temporary filesystem, and copy the files
312 and directories in the list. The files and directories in the
313 list must be expressed as relative to the /srv directory. All
314 modifications are discarded when the sandbox is closed.
315
316 private-tmp
317 Mount an empty temporary filesystem on top of /tmp directory
318 whitelisting /tmp/.X11-unix.
319
320 read-only file_or_directory
321 Make directory or file read-only.
322
323 read-write file_or_directory
324 Make directory or file read-write.
325
326 tmpfs directory
327 Mount an empty tmpfs filesystem on top of directory. This option
328 is available only when running the sandbox as root.
329
330 tracelog
331 Blacklist violations logged to syslog.
332
333 whitelist file_or_directory
334 Whitelist directory or file. A temporary file system is mounted
335 on the top directory, and the whitelisted files are mount-binded
336 inside. Modifications to whitelisted files are persistent,
337 everything else is discarded when the sandbox is closed. The top
338 directory could be user home, /dev, /etc, /media, /mnt, /opt,
339 /srv, /sys/module, /usr/share, /var, and /tmp.
340
341 Symbolic link handling: with the exception of user home, both
342 the link and the real file should be in the same top directory.
343 For user home, both the link and the real file should be owned
344 by the user.
345
346 writable-etc
347 Mount /etc directory read-write.
348
349 writable-run-user
350 Disable the default blacklisting of run/user/$UID/systemd and
351 /run/user/$UID/gnupg.
352
353 writable-var
354 Mount /var directory read-write.
355
356 writable-var-log
357 Use the real /var/log directory, not a clone. By default, a
358 tmpfs is mounted on top of /var/log directory, and a skeleton
359 filesystem is created based on the original /var/log.
360
361
363 The following security filters are currently implemented:
364
365
366 allow-debuggers
367 Allow tools such as strace and gdb inside the sandbox by
368 whitelisting system calls ptrace and process_vm_readv.
369
370 caps Enable default Linux capabilities filter.
371
372 caps.drop capability,capability,capability
373 Blacklist given Linux capabilities.
374
375 caps.drop all
376 Blacklist all Linux capabilities.
377
378 caps.keep capability,capability,capability
379 Whitelist given Linux capabilities.
380
381 memory-deny-write-execute
382 Install a seccomp filter to block attempts to create memory map‐
383 pings that are both writable and executable, to change mappings
384 to be executable or to create executable shared memory.
385
386 nonewprivs
387 Sets the NO_NEW_PRIVS prctl. This ensures that child processes
388 cannot acquire new privileges using execve(2); in particular,
389 this means that calling a suid binary (or one with file capabil‐
390 ities) does not result in an increase of privilege.
391
392 noroot Use this command to enable an user namespace. The namespace has
393 only one user, the current user. There is no root account (uid
394 0) defined in the namespace.
395
396 protocol protocol1,protocol2,protocol3
397 Enable protocol filter. The filter is based on seccomp and
398 checks the first argument to socket system call. Recognized val‐
399 ues: unix, inet, inet6, netlink and packet.
400
401 seccomp
402 Enable seccomp filter and blacklist the syscalls in the default
403 list. See man 1 firejail for more details.
404
405 seccomp.32
406 Enable seccomp filter and blacklist the syscalls in the default
407 list for 32 bit system calls on a 64 bit architecture system.
408
409 seccomp syscall,syscall,syscall
410 Enable seccomp filter and blacklist the system calls in the list
411 on top of default seccomp filter.
412
413 seccomp.32 syscall,syscall,syscall
414 Enable seccomp filter and blacklist the system calls in the list
415 on top of default seccomp filter for 32 bit system calls on a 64
416 bit architecture system.
417
418 seccomp.block-secondary
419 Enable seccomp filter and filter system call architectures so
420 that only the native architecture is allowed.
421
422 seccomp.drop syscall,syscall,syscall
423 Enable seccomp filter and blacklist the system calls in the
424 list.
425
426 seccomp.32.drop syscall,syscall,syscall
427 Enable seccomp filter and blacklist the system calls in the list
428 for 32 bit system calls on a 64 bit architecture system.
429
430 seccomp.keep syscall,syscall,syscall
431 Enable seccomp filter and whitelist the system calls in the
432 list.
433
434 seccomp.32.keep syscall,syscall,syscall
435 Enable seccomp filter and whitelist the system calls in the list
436 for 32 bit system calls on a 64 bit architecture system.
437
438 seccomp-error-action kill | log | ERRNO
439 Return a different error instead of EPERM to the process, kill
440 it when an attempt is made to call a blocked system call, or
441 allow but log the attempt. #ifdef HAVE_X11
442
443 x11 Enable X11 sandboxing.
444
445 x11 none
446 Blacklist /tmp/.X11-unix directory, ${HOME}/.Xauthority and file
447 specified in ${XAUTHORITY} environment variable. Remove DISPLAY
448 and XAUTHORITY environment variables. Stop with error message
449 if X11 abstract socket will be accessible in jail.
450
451 x11 xephyr
452 Enable X11 sandboxing with Xephyr server.
453
454 x11 xorg
455 Enable X11 sandboxing with X11 security extension.
456
457 x11 xpra
458 Enable X11 sandboxing with Xpra server.
459
460 x11 xvfb
461 Enable X11 sandboxing with Xvfb server.
462
463 xephyr-screen WIDTHxHEIGHT
464 Set screen size for x11 xephyr. This command should be included
465 in the profile file before x11 xephyr command.
466
467 Example:
468
469 xephyr-screen 640x480
470 x11 xephyr
471
473 Access to the session and system DBus UNIX sockets can be allowed, fil‐
474 tered or disabled. To disable the abstract sockets (and force applica‐
475 tions to use the filtered UNIX socket) you would need to request a new
476 network namespace using --net command. Another option is to remove unix
477 from the --protocol set.
478
479 Filtering requires installing the xdg-dbus-proxy utility. Filter rules
480 can be specified for well-known DBus names, but they are also propa‐
481 gated to the owning unique name, too. The permissions are "sticky" and
482 are kept even if the corresponding well-known name is released (how‐
483 ever, applications rarely release well-known names in practice). Names
484 may have a .* suffix to match all names underneath them, including
485 themselves (e.g. "foo.bar.*" matches "foo.bar", "foo.bar.baz" and
486 "foo.bar.baz.quux", but not "foobar"). For more information, see xdg-
487 dbus-proxy(1).
488
489 Examples:
490
491
492 dbus-system filter
493 Enable filtered access to the system DBus. Filters can be speci‐
494 fied with the dbus-system.talk and dbus-system.own commands.
495
496 dbus-system none
497 Disable access to the system DBus. Once access is disabled, it
498 cannot be relaxed to filtering.
499
500 dbus-system.own org.gnome.ghex.*
501 Allow the application to own the name org.gnome.ghex and all
502 names underneath in on the system DBus.
503
504 dbus-system.talk org.freedesktop.Notifications
505 Allow the application to talk to the name org.freedesktop.Noti‐
506 fications on the system DBus.
507
508 dbus-system.see org.freedesktop.Notifications
509 Allow the application to see but not talk to the name
510 org.freedesktop.Notifications on the system DBus.
511
512 dbus-system.call org.freedesktop.Notifications=org.freedesktop.Notifi‐
513 cations.*@/org/freedesktop/Notifications
514 Allow the application to call methods of the interface
515 org.freedesktop.Notifications of the object exposed at the path
516 /org/freedesktop/Notifications by the client owning the bus name
517 org.freedesktop.Notifications on the system DBus.
518
519 dbus-system.broadcast org.freedesktop.Notifications=org.freedesk‐
520 top.Notifications.*@/org/freedesktop/Notifications
521 Allow the application to receive broadcast signals from the the
522 interface org.freedesktop.Notifications of the object exposed at
523 the path /org/freedesktop/Notifications by the client owning the
524 bus name org.freedesktop.Notifications on the system DBus.
525
526 dbus-user filter
527 Enable filtered access to the session DBus. Filters can be spec‐
528 ified with the dbus-user.talk and dbus-user.own commands.
529
530 dbus-user none
531 Disable access to the session DBus. Once access is disabled, it
532 cannot be relaxed to filtering.
533
534 dbus-user.own org.gnome.ghex.*
535 Allow the application to own the name org.gnome.ghex and all
536 names underneath in on the session DBus.
537
538 dbus-user.talk org.freedesktop.Notifications
539 Allow the application to talk to the name org.freedesktop.Noti‐
540 fications on the session DBus.
541
542 dbus-user.see org.freedesktop.Notifications
543 Allow the application to see but not talk to the name
544 org.freedesktop.Notifications on the session DBus.
545
546 dbus-user.call org.freedesktop.Notifications=org.freedesktop.Notifica‐
547 tions.*@/org/freedesktop/Notifications
548 Allow the application to call methods of the interface
549 org.freedesktop.Notifications of the object exposed at the path
550 /org/freedesktop/Notifications by the client owning the bus name
551 org.freedesktop.Notifications on the session DBus.
552
553 dbus-user.broadcast org.freedesktop.Notifications=org.freedesktop.Noti‐
554 fications.*@/org/freedesktop/Notifications
555 Allow the application to receive broadcast signals from the the
556 interface org.freedesktop.Notifications of the object exposed at
557 the path /org/freedesktop/Notifications by the client owning the
558 bus name org.freedesktop.Notifications on the session DBus.
559
560 nodbus (deprecated)
561 Disable D-Bus access (both system and session buses). Equivalent
562 to dbus-system none and dbus-user none.
563
564
565 Individual filters can be overridden via the --ignore command. Suppos‐
566 ing a profile has
567 [...]
568 dbus-user filter
569 dbus-user.own org.mozilla.firefox.*
570 dbus-user.talk org.freedesktop.Notifications
571 dbus-system none
572 [...]
573
574 and the user wants to disable notifications, this can be
575 achieved by putting the below in a local override file:
576 [...]
577 ignore dbus-user.talk org.freedesktop.Notifications
578 [...]
579
581 These profile entries define the limits on system resources (rlimits)
582 for the processes inside the sandbox. The limits can be modified
583 inside the sandbox using the regular ulimit command. cpu command con‐
584 figures the CPU cores available, and cgroup command place the sandbox
585 in an existing control group.
586
587 Examples:
588
589
590 cgroup /sys/fs/cgroup/g1/tasks
591 The sandbox is placed in g1 control group.
592
593 cpu 0,1,2
594 Use only CPU cores 0, 1 and 2.
595
596 nice -5
597 Set a nice value of -5 to all processes running inside the sand‐
598 box.
599
600 rlimit-as 123456789012
601 Set the maximum size of the process's virtual memory to
602 123456789012 bytes.
603
604 rlimit-cpu 123
605 Set the maximum CPU time in seconds.
606
607 rlimit-fsize 1024
608 Set the maximum file size that can be created by a process to
609 1024 bytes.
610
611 rlimit-nproc 1000
612 Set the maximum number of processes that can be created for the
613 real user ID of the calling process to 1000.
614
615 rlimit-nofile 500
616 Set the maximum number of files that can be opened by a process
617 to 500.
618
619 rlimit-sigpending 200
620 Set the maximum number of processes that can be created for the
621 real user ID of the calling process to 200.
622
623 timeout hh:mm:ss
624 Kill the sandbox automatically after the time has elapsed. The
625 time is specified in hours/minutes/seconds format.
626
627
629 allusers
630 All user home directories are visible inside the sandbox. By
631 default, only current user home directory is visible.
632
633
634 env name=value
635 Set environment variable. Examples:
636
637 env LD_LIBRARY_PATH=/opt/test/lib
638 env CFLAGS="-W -Wall -Werror"
639
640
641 ipc-namespace
642 Enable IPC namespace.
643
644 name sandboxname
645 Set sandbox name. Example:
646
647 name browser
648
649
650 no3d Disable 3D hardware acceleration.
651
652 noautopulse
653 Disable automatic ~/.config/pulse init, for complex setups such
654 as remote pulse servers or non-standard socket paths.
655
656 nodvd Disable DVD and audio CD devices.
657
658 nogroups
659 Disable supplementary user groups
660
661 nosound
662 Disable sound system.
663
664 notv Disable DVB (Digital Video Broadcasting) TV devices.
665
666 nou2f Disable U2F devices.
667
668 novideo
669 Disable video devices.
670
671 shell none
672 Run the program directly, without a shell.
673
674
675
677 Networking features available in profile files.
678
679
680 defaultgw address
681 Use this address as default gateway in the new network names‐
682 pace.
683
684
685 dns address
686 Set a DNS server for the sandbox. Up to three DNS servers can be
687 defined.
688
689
690 hostname name
691 Set a hostname for the sandbox.
692
693
694 hosts-file file
695 Use file as /etc/hosts.
696
697
698 ip address
699 Assign IP addresses to the last network interface defined by a
700 net command. A default gateway is assigned by default.
701
702 Example:
703 net eth0
704 ip 10.10.20.56
705
706
707 ip none
708 No IP address and no default gateway are configured for the last
709 interface defined by a net command. Use this option in case you
710 intend to start an external DHCP client in the sandbox.
711
712 Example:
713 net eth0
714 ip none
715
716
717 ip dhcp
718 Acquire an IP address and default gateway for the last interface
719 defined by a net command, as well as set the DNS servers accord‐
720 ing to the DHCP response. This command requires the ISC
721 dhclient DHCP client to be installed and will start it automati‐
722 cally inside the sandbox.
723
724 Example:
725 net br0
726 ip dhcp
727
728 This command should not be used in conjunction with the dns com‐
729 mand if the DHCP server is set to configure DNS servers for the
730 clients, because the manually specified DNS servers will be
731 overwritten.
732
733 The DHCP client will NOT release the DHCP lease when the sandbox
734 terminates. If your DHCP server requires leases to be explic‐
735 itly released, consider running a DHCP client and releasing the
736 lease manually in conjunction with the net none command.
737
738
739 ip6 address
740 Assign IPv6 addresses to the last network interface defined by a
741 net command.
742
743 Example:
744 net eth0
745 ip6 2001:0db8:0:f101::1/64
746
747
748 ip6 dhcp
749 Acquire an IPv6 address and default gateway for the last inter‐
750 face defined by a net command, as well as set the DNS servers
751 according to the DHCP response. This command requires the ISC
752 dhclient DHCP client to be installed and will start it automati‐
753 cally inside the sandbox.
754
755 Example:
756 net br0
757 ip6 dhcp
758
759 This command should not be used in conjunction with the dns com‐
760 mand if the DHCP server is set to configure DNS servers for the
761 clients, because the manually specified DNS servers will be
762 overwritten.
763
764 The DHCP client will NOT release the DHCP lease when the sandbox
765 terminates. If your DHCP server requires leases to be explic‐
766 itly released, consider running a DHCP client and releasing the
767 lease manually.
768
769
770 iprange address,address
771 Assign an IP address in the provided range to the last network
772 interface defined by a net command. A default gateway is
773 assigned by default.
774
775 Example:
776
777 net eth0
778 iprange 192.168.1.150,192.168.1.160
779
780
781 mac address
782 Assign MAC addresses to the last network interface defined by a
783 net command.
784
785
786 machine-id
787 Spoof id number in /etc/machine-id file - a new random id is
788 generated inside the sandbox.
789
790
791 mtu number
792 Assign a MTU value to the last network interface defined by a
793 net command.
794
795
796 net bridge_interface
797 Enable a new network namespace and connect it to this bridge
798 interface. Unless specified with option --ip and --defaultgw,
799 an IP address and a default gateway will be assigned automati‐
800 cally to the sandbox. The IP address is verified using ARP
801 before assignment. The address configured as default gateway is
802 the bridge device IP address. Up to four --net bridge devices
803 can be defined. Mixing bridge and macvlan devices is allowed.
804
805
806 net ethernet_interface|wireless_interface
807 Enable a new network namespace and connect it to this ethernet
808 interface using the standard Linux macvlan or ipvlan driver.
809 Unless specified with option --ip and --defaultgw, an IP address
810 and a default gateway will be assigned automatically to the
811 sandbox. The IP address is verified using ARP before assignment.
812 The address configured as default gateway is the default gateway
813 of the host. Up to four --net devices can be defined. Mixing
814 bridge and macvlan devices is allowed.
815
816
817 net none
818 Enable a new, unconnected network namespace. The only interface
819 available in the new namespace is a new loopback interface (lo).
820 Use this option to deny network access to programs that don't
821 really need network access.
822
823
824 net tap_interface
825 Enable a new network namespace and connect it to this ethernet
826 tap interface using the standard Linux macvlan driver. If the
827 tap interface is not configured, the sandbox will not try to
828 configure the interface inside the sandbox. Please use ip, net‐
829 mask and defaultgw to specify the configuration.
830
831
832 netfilter
833 If a new network namespace is created, enabled default network
834 filter.
835
836
837 netfilter filename
838 If a new network namespace is created, enabled the network fil‐
839 ter in filename.
840
841
842
843 netmask address
844 Use this option when you want to assign an IP address in a new
845 namespace and the parent interface specified by --net is not
846 configured. An IP address and a default gateway address also
847 have to be added.
848
849
850 veth-name name
851 Use this name for the interface connected to the bridge for
852 --net=bridge_interface commands, instead of the default one.
853
855 deterministic-exit-code
856 Always exit firejail with the first child's exit status. The
857 default behavior is to use the exit status of the final child to
858 exit, which can be nondeterministic.
859
860
861 join-or-start sandboxname
862 Join the sandbox identified by name or start a new one. Same as
863 "firejail --join=sandboxname" command if sandbox with specified
864 name exists, otherwise same as "name sandboxname".
865
866
868 /etc/firejail/filename.profile, $HOME/.config/firejail/filename.profile
869
870
872 Firejail is free software; you can redistribute it and/or modify it
873 under the terms of the GNU General Public License as published by the
874 Free Software Foundation; either version 2 of the License, or (at your
875 option) any later version.
876
877 Homepage: https://firejail.wordpress.com
878
880 firejail(1), firemon(1), firecfg(1), firejail-login(5), firejail-
881 users(5), ⟨https://github.com/netblue30/firejail/wiki/Creating-
882 Profiles⟩
883
884
885
8860.9.64 Oct 2020 FIREJAIL-PROFILE(5)