1FIREJAIL-PROFILE(5)       firejail profiles man page       FIREJAIL-PROFILE(5)
2
3
4

NAME

6       profile - Security profile file syntax for Firejail
7
8

USAGE

10       firejail --profile=filename.profile
11       firejail --profile=profile_name
12
13

DESCRIPTION

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

Templates

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

Scripting

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

Filesystem

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

Security filters

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

DBus filtering

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

Resource limits, CPU affinity, Control Groups

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

User Environment

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

Networking

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

Other

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

FILES

868       /etc/firejail/filename.profile, $HOME/.config/firejail/filename.profile
869
870

LICENSE

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

SEE ALSO

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)
Impressum