aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.in1
-rw-r--r--README31
-rw-r--r--README.md20
-rw-r--r--RELNOTES25
-rw-r--r--SECURITY.md23
-rwxr-xr-xconfigure18
-rw-r--r--configure.ac2
-rw-r--r--etc-fixes/seccomp-join-bug/README11
-rw-r--r--etc-fixes/seccomp-join-bug/eecf35c-backports.zipbin0 -> 10472 bytes
-rw-r--r--etc/7z.profile21
-rw-r--r--etc/JDownloader.profile8
-rw-r--r--etc/Mathematica.profile1
-rw-r--r--etc/Viber.profile3
-rw-r--r--etc/Xephyr.profile8
-rw-r--r--etc/Xvfb.profile5
-rw-r--r--etc/allow-java.inc4
-rw-r--r--etc/allow-lua.inc4
-rw-r--r--etc/allow-perl.inc7
-rw-r--r--etc/allow-python2.inc5
-rw-r--r--etc/allow-python3.inc5
-rw-r--r--etc/amule.profile2
-rw-r--r--etc/anki.profile9
-rw-r--r--etc/arduino.profile7
-rw-r--r--etc/arm.profile8
-rw-r--r--etc/assogiate.profile3
-rw-r--r--etc/atool.profile10
-rw-r--r--etc/authenticator.profile8
-rw-r--r--etc/autokey-common.profile10
-rw-r--r--etc/baobab.profile2
-rw-r--r--etc/basilisk.profile1
-rw-r--r--etc/bibletime.profile4
-rw-r--r--etc/bitlbee.profile2
-rw-r--r--etc/bitwarden.profile9
-rw-r--r--etc/bleachbit.profile8
-rw-r--r--etc/blender.profile8
-rw-r--r--etc/brackets.profile2
-rw-r--r--etc/brave-browser.profile1
-rw-r--r--etc/brave.profile6
-rw-r--r--etc/caja.profile8
-rw-r--r--etc/cantata.profile5
-rw-r--r--etc/catfish.profile8
-rw-r--r--etc/celluloid.profile8
-rw-r--r--etc/checkbashisms.profile6
-rw-r--r--etc/cherrytree.profile8
-rw-r--r--etc/chromium.profile1
-rw-r--r--etc/clawsker.profile6
-rw-r--r--etc/conkeror.profile3
-rw-r--r--etc/cower.profile18
-rw-r--r--etc/cpio.profile4
-rw-r--r--etc/curl.profile4
-rw-r--r--etc/d-feet.profile8
-rw-r--r--etc/dconf-editor.profile5
-rw-r--r--etc/dconf.profile3
-rw-r--r--etc/deluge.profile8
-rw-r--r--etc/devilspie2.profile3
-rw-r--r--etc/dex2jar.profile7
-rw-r--r--etc/disable-common.inc11
-rw-r--r--etc/disable-interpreters.inc2
-rw-r--r--etc/disable-programs.inc32
-rw-r--r--etc/display.profile8
-rw-r--r--etc/dnscrypt-proxy.profile4
-rw-r--r--etc/dnsmasq.profile4
-rw-r--r--etc/dooble.profile3
-rw-r--r--etc/electrum.profile8
-rw-r--r--etc/elinks.profile4
-rw-r--r--etc/enpass.profile6
-rw-r--r--etc/exfalso.profile8
-rw-r--r--etc/exiftool.profile10
-rw-r--r--etc/falkon.profile2
-rw-r--r--etc/filezilla.profile8
-rw-r--r--etc/firefox-common-addons.inc3
-rw-r--r--etc/firefox-common.profile2
-rw-r--r--etc/firejail.config2
-rw-r--r--etc/flowblade.profile8
-rw-r--r--etc/font-manager.profile8
-rw-r--r--etc/fontforge.profile8
-rw-r--r--etc/franz.profile5
-rw-r--r--etc/freecol.profile7
-rw-r--r--etc/freemind.profile7
-rw-r--r--etc/frozen-bubble.profile6
-rw-r--r--etc/gajim.profile8
-rw-r--r--etc/gconf.profile8
-rw-r--r--etc/geary.profile12
-rw-r--r--etc/gimp.profile3
-rw-r--r--etc/git.profile4
-rw-r--r--etc/gnome-chess.profile6
-rw-r--r--etc/gnome-music.profile8
-rw-r--r--etc/gnome-schedule.profile8
-rw-r--r--etc/google-play-music-desktop-player.profile9
-rw-r--r--etc/gpg-agent.profile4
-rw-r--r--etc/gpg.profile7
-rw-r--r--etc/gpredict.profile1
-rw-r--r--etc/gramps.profile8
-rw-r--r--etc/gzip.profile13
-rw-r--r--etc/hexchat.profile8
-rw-r--r--etc/imagej.profile7
-rw-r--r--etc/inkscape.profile8
-rw-r--r--etc/jd-gui.profile7
-rw-r--r--etc/jitsi.profile7
-rw-r--r--etc/klatexformula.profile43
-rw-r--r--etc/klatexformula_cmdl.profile5
-rw-r--r--etc/kodi.profile8
-rw-r--r--etc/krita.profile8
-rw-r--r--etc/ktouch.profile50
-rw-r--r--etc/less.profile17
-rw-r--r--etc/libreoffice.profile13
-rw-r--r--etc/liferea.profile8
-rw-r--r--etc/links.profile64
-rw-r--r--etc/lollypop.profile8
-rw-r--r--etc/macrofusion.profile8
-rw-r--r--etc/masterpdfeditor.profile3
-rw-r--r--etc/mate-calc.profile9
-rw-r--r--etc/mate-color-select.profile6
-rw-r--r--etc/mate-dictionary.profile6
-rw-r--r--etc/mediathekview.profile7
-rw-r--r--etc/meld.profile16
-rw-r--r--etc/mendeleydesktop.profile8
-rw-r--r--etc/meteo-qt.profile6
-rw-r--r--etc/midori.profile6
-rw-r--r--etc/mpDris2.profile8
-rw-r--r--etc/mpsyt.profile12
-rw-r--r--etc/mpv.profile8
-rw-r--r--etc/ms-office.profile8
-rw-r--r--etc/ms-skype.profile7
-rw-r--r--etc/multimc5.profile9
-rw-r--r--etc/mutt.profile4
-rw-r--r--etc/mypaint.profile6
-rw-r--r--etc/natron.profile17
-rw-r--r--etc/nautilus.profile8
-rw-r--r--etc/nemo.profile8
-rw-r--r--etc/nethack-vultures.profile2
-rw-r--r--etc/nethack.profile1
-rw-r--r--etc/nheko.profile2
-rw-r--r--etc/nitroshare.profile8
-rw-r--r--etc/nylas.profile2
-rw-r--r--etc/nyx.profile14
-rw-r--r--etc/obs.profile8
-rw-r--r--etc/ocenaudio.profile4
-rw-r--r--etc/onionshare-gui.profile4
-rw-r--r--etc/openshot.profile8
-rw-r--r--etc/orage.profile2
-rw-r--r--etc/pandoc.profile49
-rw-r--r--etc/pdfsam.profile7
-rw-r--r--etc/picard.profile8
-rw-r--r--etc/pidgin.profile4
-rw-r--r--etc/pithos.profile8
-rw-r--r--etc/pitivi.profile8
-rw-r--r--etc/playonlinux.profile14
-rw-r--r--etc/pybitmessage.profile8
-rw-r--r--etc/pycharm-community.profile7
-rw-r--r--etc/qbittorrent.profile10
-rw-r--r--etc/qgis.profile57
-rw-r--r--etc/quiterss.profile2
-rw-r--r--etc/qupzilla.profile2
-rw-r--r--etc/qutebrowser.profile13
-rw-r--r--etc/ranger.profile13
-rw-r--r--etc/ricochet.profile2
-rw-r--r--etc/rocketchat.profile1
-rw-r--r--etc/scribus.profile8
-rw-r--r--etc/sdat2img.profile8
-rw-r--r--etc/seahorse.profile3
-rw-r--r--etc/seamonkey.profile2
-rw-r--r--etc/server.profile4
-rw-r--r--etc/signal-desktop.profile5
-rw-r--r--etc/skypeforlinux.profile7
-rw-r--r--etc/slack.profile1
-rw-r--r--etc/slashem.profile1
-rw-r--r--etc/smplayer.profile8
-rw-r--r--etc/soundconverter.profile8
-rw-r--r--etc/spectre-meltdown-checker.profile8
-rw-r--r--etc/spotify.profile8
-rw-r--r--etc/ssh-agent.profile4
-rw-r--r--etc/start-tor-browser.desktop.profile1
-rw-r--r--etc/steam.profile15
-rw-r--r--etc/strings.profile23
-rw-r--r--etc/subdownloader.profile8
-rw-r--r--etc/surf.profile1
-rw-r--r--etc/sysprof.profile2
-rw-r--r--etc/tar.profile17
-rw-r--r--etc/templates/profile.template139
-rw-r--r--etc/templates/redirect_alias-profile.template43
-rw-r--r--etc/templates/syscalls.txt43
-rw-r--r--etc/terasology.profile12
-rw-r--r--etc/torbrowser-launcher.profile8
-rw-r--r--etc/transgui.profile2
-rw-r--r--etc/transmission-daemon.profile2
-rw-r--r--etc/transmission-remote-cli.profile8
-rw-r--r--etc/tuxguitar.profile7
-rw-r--r--etc/unbound.profile4
-rw-r--r--etc/unrar.profile21
-rw-r--r--etc/unzip.profile28
-rw-r--r--etc/uudeview.profile21
-rw-r--r--etc/uzbl-browser.profile8
-rw-r--r--etc/viewnior.profile4
-rw-r--r--etc/w3m.profile4
-rw-r--r--etc/wget.profile4
-rw-r--r--etc/wire-desktop.profile1
-rw-r--r--etc/wireshark.profile7
-rw-r--r--etc/xed.profile8
-rw-r--r--etc/xiphos.profile6
-rw-r--r--etc/xlinks.profile18
-rw-r--r--etc/xplayer.profile8
-rw-r--r--etc/xpra.profile13
-rw-r--r--etc/xzdec.profile21
-rw-r--r--etc/yelp.profile51
-rw-r--r--etc/youtube-dl.profile14
-rw-r--r--etc/zaproxy.profile8
-rw-r--r--etc/zoom.profile2
-rw-r--r--etc/zpaq.profile1
-rw-r--r--src/firecfg/firecfg.config11
-rw-r--r--src/firecfg/firecfg.h4
-rw-r--r--src/firejail/firejail.h4
-rw-r--r--src/firejail/fs_home.c15
-rw-r--r--src/firejail/main.c30
-rw-r--r--src/firejail/profile.c17
-rw-r--r--src/firejail/sandbox.c11
-rw-r--r--src/firejail/usage.c3
-rw-r--r--src/firemon/firemon.c4
-rw-r--r--src/include/rundefs.h14
-rw-r--r--src/man/firejail-profile.txt10
-rw-r--r--src/man/firejail.txt46
-rwxr-xr-xtest/environment/deterministic-exit-code.exp55
-rwxr-xr-xtest/environment/environment.sh3
-rw-r--r--test/environment/rlimit.profile6
-rwxr-xr-xtest/fs/fs.sh3
-rwxr-xr-xtest/fs/private-cwd.exp52
-rwxr-xr-xtest/private-lib/private-lib.sh2
227 files changed, 1499 insertions, 828 deletions
diff --git a/Makefile.in b/Makefile.in
index 0cbbb374c..af57f7d2c 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -121,6 +121,7 @@ endif
121 install -c -m 0644 COPYING $(DESTDIR)/$(DOCDIR)/. 121 install -c -m 0644 COPYING $(DESTDIR)/$(DOCDIR)/.
122 install -c -m 0644 README $(DESTDIR)/$(DOCDIR)/. 122 install -c -m 0644 README $(DESTDIR)/$(DOCDIR)/.
123 install -c -m 0644 RELNOTES $(DESTDIR)/$(DOCDIR)/. 123 install -c -m 0644 RELNOTES $(DESTDIR)/$(DOCDIR)/.
124 install -c -m 0644 etc/templates/* $(DESTDIR)/$(DOCDIR)/.
124 # etc files 125 # etc files
125 ./mketc.sh $(sysconfdir) $(BUSYBOX_WORKAROUND) 126 ./mketc.sh $(sysconfdir) $(BUSYBOX_WORKAROUND)
126 install -m 0755 -d $(DESTDIR)/$(sysconfdir)/firejail 127 install -m 0755 -d $(DESTDIR)/$(sysconfdir)/firejail
diff --git a/README b/README
index 1bb84e8df..d6cf5389b 100644
--- a/README
+++ b/README
@@ -97,6 +97,9 @@ announ (https://github.com/announ)
97Antonio Russo (https://github.com/aerusso) 97Antonio Russo (https://github.com/aerusso)
98 - enumerate root directories in apparmor profile 98 - enumerate root directories in apparmor profile
99 - fix join-or-start 99 - fix join-or-start
100Austin Morton
101 - deterministic-exit-code option
102 - private-cwd options
100Austin S. Hemmelgarn (https://github.com/Ferroin) 103Austin S. Hemmelgarn (https://github.com/Ferroin)
101 - unbound profile update 104 - unbound profile update
102avoidr (https://github.com/avoidr) 105avoidr (https://github.com/avoidr)
@@ -176,6 +179,8 @@ curiosity-seeker (https://github.com/curiosity-seeker)
176 - write-protection for thumbnailer dir 179 - write-protection for thumbnailer dir
177 - added gramps, newsboat, freeoffice-planmaker profiles 180 - added gramps, newsboat, freeoffice-planmaker profiles
178 - added freeoffice-textmaker, freeoffice-presentations profiles 181 - added freeoffice-textmaker, freeoffice-presentations profiles
182 - added cantata profile
183 - updated keypassxc profile
179da2x (https://github.com/da2x) 184da2x (https://github.com/da2x)
180 - matched RPM license tag 185 - matched RPM license tag
181Daan Bakker (https://github.com/dbakker) 186Daan Bakker (https://github.com/dbakker)
@@ -304,6 +309,8 @@ greigdp (https://github.com/greigdp)
304 - fixed spotify profile 309 - fixed spotify profile
305 - added Slack profile 310 - added Slack profile
306 - add Spotify profile 311 - add Spotify profile
312grizzlyuser (https://github.com/grizzlyuser)
313 - added support for youtube-dl in smplayer profile
307GSI (https://github.com/GSI) 314GSI (https://github.com/GSI)
308 - added Uzbl browser profile 315 - added Uzbl browser profile
309hamzadis (https://github.com/hamzadis) 316hamzadis (https://github.com/hamzadis)
@@ -353,6 +360,7 @@ Jean Lucas (https://github.com/flacks)
353 - fix wire profile 360 - fix wire profile
354 - add Beaker profile 361 - add Beaker profile
355 - fixes for gnome-music 362 - fixes for gnome-music
363 - allow reading of system-wide Flatpak locale in gajim profile
356Jericho (https://github.com/attritionorg) 364Jericho (https://github.com/attritionorg)
357 - spelling 365 - spelling
358Jesse Smith (https://github.com/slicer69) 366Jesse Smith (https://github.com/slicer69)
@@ -368,6 +376,8 @@ John Mullee (https://github.com/jmullee)
368Jonas Heinrich (https://github.com/onny) 376Jonas Heinrich (https://github.com/onny)
369 - added signal-desktop profile 377 - added signal-desktop profile
370 - fixed franz profile 378 - fixed franz profile
379Jose Riha (https://github.com/jose1711)
380 - added meteo-qt profile
371jrabe (https://github.com/jrabe) 381jrabe (https://github.com/jrabe)
372 - disallow access to kdbx files 382 - disallow access to kdbx files
373 - Epiphany profile 383 - Epiphany profile
@@ -516,6 +526,7 @@ pwnage-pineapple (https://github.com/pwnage-pineapple)
516Quentin Minster (https://github.com/laomaiweng) 526Quentin Minster (https://github.com/laomaiweng)
517 - propagate --quiet to children Firejail'ed processes 527 - propagate --quiet to children Firejail'ed processes
518 - nodbus enhancements/bugfixes 528 - nodbus enhancements/bugfixes
529 - added vim syntax and ftdetect files
519Rafael Cavalcanti (https://github.com/rccavalcanti) 530Rafael Cavalcanti (https://github.com/rccavalcanti)
520 - chromium profile fixes for Arch Linux 531 - chromium profile fixes for Arch Linux
521Rahiel Kasim (https://github.com/rahiel) 532Rahiel Kasim (https://github.com/rahiel)
@@ -554,22 +565,10 @@ rusty-snake (https://github.com/rusty-snake)
554 - added profiles: gajim-history-manager, freemind, nomacs, kid3 565 - added profiles: gajim-history-manager, freemind, nomacs, kid3
555 - added profiles: kid3-qt, kid3-cli, anki, utox, mp3splt, mp3wrap 566 - added profiles: kid3-qt, kid3-cli, anki, utox, mp3splt, mp3wrap
556 - added profiles: oggsplt, flacsplt, cheese, inkview, mp3splt-gtk 567 - added profiles: oggsplt, flacsplt, cheese, inkview, mp3splt-gtk
557 - fixed profiles: kdenlive, bibletime, rhythmbox, gajim, seahorse 568 - added profiles: ktouch, yelp
558 - fixed profiles: libreoffice, gnome-maps, wget, seahorse-tool 569 - many profile fixing and hardening
559 - fixed profiles: gnome-logs, atom, brackets, gnome-builder, geany
560 - fixed profiles: vim, emacs, pycharm-community, gedit, klavaro
561 - fixed profiles: default, mpv, authenticator, gramps, webstorm
562 - fixed profiles: freeoffice-planmaker, freeoffice-presentations
563 - fixed profiles: freeoffice-textmaker, code, newsboat, aosp, clion
564 - fixed profiles: android-studio, git, gitg, github-desktop, idea.sh
565 - fixed profiles: ffmpeg, thunderbird, gnome-system-log, file-roller
566 - fixed profiles: eog, eom, xiphos
567 - hardened profiles: disable-common.inc, disable-programs.inc
568 - hardened profiles: gajim, evince, ffmpeg, feh-network.inc, qtox
569 - hardened profiles: gnome-clocks, meld, minetest, youtube-dl
570 - hardened profiles: bibletime, whois, etr, display, feh, mpv, xiphos
571 - gnome-mpv was renamed to celluloid
572 - some typo fixes 570 - some typo fixes
571 - added profile templates
573Salvo 'LtWorf' Tomaselli (https://github.com/ltworf) 572Salvo 'LtWorf' Tomaselli (https://github.com/ltworf)
574 - fixed ktorrent profile 573 - fixed ktorrent profile
575sarneaud (https://github.com/sarneaud) 574sarneaud (https://github.com/sarneaud)
@@ -753,6 +752,8 @@ veloute (https://github.com/veloute)
753 - add anki profile 752 - add anki profile
754Vincent43 (https://github.com/Vincent43) 753Vincent43 (https://github.com/Vincent43)
755 - apparmor enhancements 754 - apparmor enhancements
755Vincent Blillault (https://github.com/Feandil)
756 - fix mumble profile
756vismir2 (https://github.com/vismir2) 757vismir2 (https://github.com/vismir2)
757 - feh, ranger, 7z, keepass, keepassx and zathura profiles 758 - feh, ranger, 7z, keepass, keepassx and zathura profiles
758 - claws-mail, mutt, git, emacs, vim profiles 759 - claws-mail, mutt, git, emacs, vim profiles
diff --git a/README.md b/README.md
index f6e4ead8c..b1e867f84 100644
--- a/README.md
+++ b/README.md
@@ -33,6 +33,10 @@ FAQ: https://firejail.wordpress.com/support/
33Travis-CI status: https://travis-ci.org/netblue30/firejail 33Travis-CI status: https://travis-ci.org/netblue30/firejail
34 34
35 35
36## Security vulnerabilities
37
38We take security bugs very seriously. If you believe you have found one, please report it by emailing us at netblue30@yahoo.com
39
36## Compile and install 40## Compile and install
37````` 41`````
38$ git clone https://github.com/netblue30/firejail.git 42$ git clone https://github.com/netblue30/firejail.git
@@ -95,18 +99,16 @@ If you keep additional Firejail security profiles in a public repository, please
95 99
96Use this issue to request new profiles: [#1139](https://github.com/netblue30/firejail/issues/1139) 100Use this issue to request new profiles: [#1139](https://github.com/netblue30/firejail/issues/1139)
97 101
98We also keep a list of profile fixes for previous released versions in [etc-fixes](https://github.com/netblue30/firejail/tree/master/etc-fixes) directory . 102You can also use this tool to get a list of syscalls needed by a program: [https://github.com/avilum/syscalls](https://github.com/avilum/syscalls).
103
104We also keep a list of profile fixes for previous released versions in [etc-fixes](https://github.com/netblue30/firejail/tree/master/etc-fixes) directory.
99````` 105`````
100 106
101````` 107`````
102## Current development version: 0.9.60-rc2 108## Latest released version: 0.9.60
103 109
104## 0.9.60-rc1 is out! 110## Current development version: 0.9.61
105 111
106## New profiles: 112## New profiles:
107anki, assogiate, autokey-gtk, autokey-qt, autokey-run, autokey-shell, bzflag, celluoid, cheese, code-oss, crawl, crawl-tiles, crow, d-feet, dconf, 113
108dconf-editor, devhelp, exfalso, font-manager, freeciv, freecol, freeoffice-planmaker, freeoffice-presentations, freeoffice-textmaker, freemind, 114klatexformula, klatexformula_cmdl, links, pandoc, qgis, xlinks
109gconf-editor, geekbench, gnome-keyring, gnome-nettool, gnome-system-log, gramps, gsettings, inkview kid3, kid3-cli, kid3-qt, lincity-ng, lugaru,
110Maelstrom, manaplus, megaglest, mp3splt-gtk, mpdris2, mypaint, nano, netactview, newsboat, nomacs, nyx, opencity, openclonk, openttd, ostrichriders, pavucontrol,
111pioneer, pragha, redshift, regextester, seahorse, seahorse-tool, scorched3d, secret-tool, simplescreenrecorder, slashem, subdownloader, sysprof,
112sysprof-cli, teeworlds, torcs, tremulous, transgui, utox, vulturesclaw, vultureseye, warsow, widelands, xfce4-mixer
diff --git a/RELNOTES b/RELNOTES
index 32a98b8e3..167a1a60f 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -1,4 +1,21 @@
1firejail (0.9.60~rc2) baseline; urgency=low 1firejail (0.9.61) baseline; urgency=low
2 * work in progress
3 * profile templates
4 * new profiles: qgis, klatexformula, klatexformula_cmdl, links, xlinks
5 * new profiles: pandoc
6 -- netblue30 <netblue30@yahoo.com> Sat, 1 Jun 2019 08:00:00 -0500
7
8firejail (0.9.60) baseline; urgency=low
9 * security bug reported by Austin Morton:
10 Seccomp filters are copied into /run/firejail/mnt, and are writable
11 within the jail. A malicious process can modify files from inside the
12 jail. Processes that are later joined to the jail will not have seccomp
13 filters applied.
14 * memory-deny-write-execute now also blocks memfd_create
15 * add private-cwd option to control working directory within jail
16 * blocking system D-Bus socket with --nodbus
17 * bringing back Centos 6 support
18 * drop support for flatpak/snap packages
2 * new profiles: crow, nyx, mypaint, celluoid, nano, transgui, mpdris2 19 * new profiles: crow, nyx, mypaint, celluoid, nano, transgui, mpdris2
3 * new profiles: sysprof, simplescreenrecorder, geekbench, xfce4-mixer 20 * new profiles: sysprof, simplescreenrecorder, geekbench, xfce4-mixer
4 * new profiles: pavucontrol, d-feet, seahorse, secret-tool, gnome-keyring 21 * new profiles: pavucontrol, d-feet, seahorse, secret-tool, gnome-keyring
@@ -15,10 +32,8 @@ firejail (0.9.60~rc2) baseline; urgency=low
15 * new profiles: oggsplt, flacsplt, gramps, newsboat, freeoffice-planmaker 32 * new profiles: oggsplt, flacsplt, gramps, newsboat, freeoffice-planmaker
16 * new profiles: autokey-gtk, autokey-qt, autokey-run, autokey-shell 33 * new profiles: autokey-gtk, autokey-qt, autokey-run, autokey-shell
17 * new profiles: freeoffice-presentations, freeoffice-textmaker, mp3wrap 34 * new profiles: freeoffice-presentations, freeoffice-textmaker, mp3wrap
18 * new profiles: inkview, mp3splt-gtk 35 * new profiles: inkview, meteo-qt, mp3splt-gtk, ktouch, yelp, cantata
19 * memory-deny-write-execute now also blocks memfd_create 36 -- netblue30 <netblue30@yahoo.com> Sun, 26 May 2019 08:00:00 -0500
20 * drop support for flatpak/snap packages
21 -- netblue30 <netblue30@yahoo.com> Sun, 21 Apr 2019 08:00:00 -0500
22 37
23firejail (0.9.58,2) baseline; urgency=low 38firejail (0.9.58,2) baseline; urgency=low
24 * cgroup flag in /etc/firejail/firejail.config file 39 * cgroup flag in /etc/firejail/firejail.config file
diff --git a/SECURITY.md b/SECURITY.md
new file mode 100644
index 000000000..96da4aff7
--- /dev/null
+++ b/SECURITY.md
@@ -0,0 +1,23 @@
1# Security Policy
2
3## Supported Versions
4
5| Version | Supported by us | EOL | Supported by distribution |
6| ------- | ------------------ | ---- | ---------------------------
7| 0.9.60 | :heavy_check_mark: | | :white_check_mark: Debian experimental
8| 0.9.58 |:heavy_check_mark: | | :white_check_mark: Ubuntu 19.04 & 19.10; Debian 9 (**backports**), 10, & Sid
9| 0.9.56 | :x: | 27 Jan 2019 |
10| 0.9.54 | :x: | | :white_check_mark: Ubuntu 18.10
11| 0.9.52 | :x: | | :white_check_mark: Ubuntu 18.04 LTS
12| 0.9.50 | :x: | 12 Dec 2017 |
13| 0.9.48 | :x: | 09 Sep 2017 |
14| 0.9.46 | :x: | 12 Jun 2017 |
15| 0.9.44 | :x: | | :white_check_mark: Debian 9
16| 0.9.42 | :x: | 22 Oct 2016 |
17| 0.9.40 | :x: | 09 Sep 2016 |
18| 0.9.38 | :x: | | :white_check_mark: Ubuntu 16.04 LTS
19| <0.9.38 | :x: | Before 05 Feb 2016 |
20
21## Security vulnerabilities
22
23We take security bugs very seriously. If you believe you have found one, please report it by emailing us at netblue30@yahoo.com
diff --git a/configure b/configure
index 0eece5428..d47e0cbb0 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
1#! /bin/sh 1#! /bin/sh
2# Guess values for system-dependent variables and create Makefiles. 2# Guess values for system-dependent variables and create Makefiles.
3# Generated by GNU Autoconf 2.69 for firejail 0.9.60~rc2. 3# Generated by GNU Autoconf 2.69 for firejail 0.9.61.
4# 4#
5# Report bugs to <netblue30@yahoo.com>. 5# Report bugs to <netblue30@yahoo.com>.
6# 6#
@@ -580,8 +580,8 @@ MAKEFLAGS=
580# Identity of this package. 580# Identity of this package.
581PACKAGE_NAME='firejail' 581PACKAGE_NAME='firejail'
582PACKAGE_TARNAME='firejail' 582PACKAGE_TARNAME='firejail'
583PACKAGE_VERSION='0.9.60~rc2' 583PACKAGE_VERSION='0.9.61'
584PACKAGE_STRING='firejail 0.9.60~rc2' 584PACKAGE_STRING='firejail 0.9.61'
585PACKAGE_BUGREPORT='netblue30@yahoo.com' 585PACKAGE_BUGREPORT='netblue30@yahoo.com'
586PACKAGE_URL='https://firejail.wordpress.com' 586PACKAGE_URL='https://firejail.wordpress.com'
587 587
@@ -1275,7 +1275,7 @@ if test "$ac_init_help" = "long"; then
1275 # Omit some internal or obsolete options to make the list less imposing. 1275 # Omit some internal or obsolete options to make the list less imposing.
1276 # This message is too long to be a string in the A/UX 3.1 sh. 1276 # This message is too long to be a string in the A/UX 3.1 sh.
1277 cat <<_ACEOF 1277 cat <<_ACEOF
1278\`configure' configures firejail 0.9.60~rc2 to adapt to many kinds of systems. 1278\`configure' configures firejail 0.9.61 to adapt to many kinds of systems.
1279 1279
1280Usage: $0 [OPTION]... [VAR=VALUE]... 1280Usage: $0 [OPTION]... [VAR=VALUE]...
1281 1281
@@ -1337,7 +1337,7 @@ fi
1337 1337
1338if test -n "$ac_init_help"; then 1338if test -n "$ac_init_help"; then
1339 case $ac_init_help in 1339 case $ac_init_help in
1340 short | recursive ) echo "Configuration of firejail 0.9.60~rc2:";; 1340 short | recursive ) echo "Configuration of firejail 0.9.61:";;
1341 esac 1341 esac
1342 cat <<\_ACEOF 1342 cat <<\_ACEOF
1343 1343
@@ -1442,7 +1442,7 @@ fi
1442test -n "$ac_init_help" && exit $ac_status 1442test -n "$ac_init_help" && exit $ac_status
1443if $ac_init_version; then 1443if $ac_init_version; then
1444 cat <<\_ACEOF 1444 cat <<\_ACEOF
1445firejail configure 0.9.60~rc2 1445firejail configure 0.9.61
1446generated by GNU Autoconf 2.69 1446generated by GNU Autoconf 2.69
1447 1447
1448Copyright (C) 2012 Free Software Foundation, Inc. 1448Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1744,7 +1744,7 @@ cat >config.log <<_ACEOF
1744This file contains any messages produced by compilers while 1744This file contains any messages produced by compilers while
1745running configure, to aid debugging if configure makes a mistake. 1745running configure, to aid debugging if configure makes a mistake.
1746 1746
1747It was created by firejail $as_me 0.9.60~rc2, which was 1747It was created by firejail $as_me 0.9.61, which was
1748generated by GNU Autoconf 2.69. Invocation command line was 1748generated by GNU Autoconf 2.69. Invocation command line was
1749 1749
1750 $ $0 $@ 1750 $ $0 $@
@@ -4379,7 +4379,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
4379# report actual input values of CONFIG_FILES etc. instead of their 4379# report actual input values of CONFIG_FILES etc. instead of their
4380# values after options handling. 4380# values after options handling.
4381ac_log=" 4381ac_log="
4382This file was extended by firejail $as_me 0.9.60~rc2, which was 4382This file was extended by firejail $as_me 0.9.61, which was
4383generated by GNU Autoconf 2.69. Invocation command line was 4383generated by GNU Autoconf 2.69. Invocation command line was
4384 4384
4385 CONFIG_FILES = $CONFIG_FILES 4385 CONFIG_FILES = $CONFIG_FILES
@@ -4433,7 +4433,7 @@ _ACEOF
4433cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 4433cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
4434ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" 4434ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
4435ac_cs_version="\\ 4435ac_cs_version="\\
4436firejail config.status 0.9.60~rc2 4436firejail config.status 0.9.61
4437configured by $0, generated by GNU Autoconf 2.69, 4437configured by $0, generated by GNU Autoconf 2.69,
4438 with options \\"\$ac_cs_config\\" 4438 with options \\"\$ac_cs_config\\"
4439 4439
diff --git a/configure.ac b/configure.ac
index 4d0b847f5..40ead1604 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
1AC_PREREQ([2.68]) 1AC_PREREQ([2.68])
2AC_INIT(firejail, 0.9.60~rc2, netblue30@yahoo.com, , https://firejail.wordpress.com) 2AC_INIT(firejail, 0.9.61, netblue30@yahoo.com, , https://firejail.wordpress.com)
3AC_CONFIG_SRCDIR([src/firejail/main.c]) 3AC_CONFIG_SRCDIR([src/firejail/main.c])
4#AC_CONFIG_HEADERS([config.h]) 4#AC_CONFIG_HEADERS([config.h])
5 5
diff --git a/etc-fixes/seccomp-join-bug/README b/etc-fixes/seccomp-join-bug/README
new file mode 100644
index 000000000..9f85a0e00
--- /dev/null
+++ b/etc-fixes/seccomp-join-bug/README
@@ -0,0 +1,11 @@
1These are patches for various Firejail versions for the security bug reported by Austin Morton
2on May 21, 2019:
3
4 Seccomp filters are copied into /run/firejail/mnt, and are writable
5 within the jail. A malicious process can modify files from inside the
6 jail. Processes that are later joined to the jail will not have seccomp
7 filters applied.
8
9The original discussion thread: https://github.com/netblue30/firejail/issues/2718
10The fix on mainline: https://github.com/netblue30/firejail/commit/eecf35c2f8249489a1d3e512bb07f0d427183134
11
diff --git a/etc-fixes/seccomp-join-bug/eecf35c-backports.zip b/etc-fixes/seccomp-join-bug/eecf35c-backports.zip
new file mode 100644
index 000000000..59782461e
--- /dev/null
+++ b/etc-fixes/seccomp-join-bug/eecf35c-backports.zip
Binary files differ
diff --git a/etc/7z.profile b/etc/7z.profile
index 44ab377b3..ee2b493f8 100644
--- a/etc/7z.profile
+++ b/etc/7z.profile
@@ -4,23 +4,34 @@ quiet
4# Persistent local customizations 4# Persistent local customizations
5include 7z.local 5include 7z.local
6# Persistent global definitions 6# Persistent global definitions
7# added by included profile 7include globals.local
8#include globals.local
9 8
10blacklist /tmp/.X11-unix 9blacklist /tmp/.X11-unix
11 10
12ignore noroot 11include disable-common.inc
12include disable-devel.inc
13include disable-exec.inc
14include disable-interpreters.inc
15include disable-passwdmgr.inc
16include disable-programs.inc
17
18caps.drop all
19ipc-namespace
20machine-id
13net none 21net none
14no3d 22no3d
15nodbus 23nodbus
16nodvd 24nodvd
25#nogroups
26nonewprivs
27#noroot
17nosound 28nosound
18notv 29notv
19nou2f 30nou2f
20novideo 31novideo
32protocol unix
33seccomp
21shell none 34shell none
22tracelog 35tracelog
23 36
24private-dev 37private-dev
25
26include default.profile
diff --git a/etc/JDownloader.profile b/etc/JDownloader.profile
index d1bd5c9b2..1435f3422 100644
--- a/etc/JDownloader.profile
+++ b/etc/JDownloader.profile
@@ -5,14 +5,10 @@ include JDownloader.local
5# Persistent global definitions 5# Persistent global definitions
6include globals.local 6include globals.local
7 7
8
9noblacklist ${HOME}/.jd 8noblacklist ${HOME}/.jd
10 9
11# Allow access to java 10# Allow java (blacklisted by disable-devel.inc)
12noblacklist ${PATH}/java 11include allow-java.inc
13noblacklist /usr/lib/java
14noblacklist /etc/java
15noblacklist /usr/share/java
16 12
17include disable-common.inc 13include disable-common.inc
18include disable-devel.inc 14include disable-devel.inc
diff --git a/etc/Mathematica.profile b/etc/Mathematica.profile
index 6aba2678b..c2734b1c1 100644
--- a/etc/Mathematica.profile
+++ b/etc/Mathematica.profile
@@ -16,6 +16,7 @@ include disable-programs.inc
16 16
17mkdir ${HOME}/.Mathematica 17mkdir ${HOME}/.Mathematica
18mkdir ${HOME}/.Wolfram Research 18mkdir ${HOME}/.Wolfram Research
19mkdir ${HOME}/Documents/Wolfram Mathematica
19whitelist ${HOME}/.Mathematica 20whitelist ${HOME}/.Mathematica
20whitelist ${HOME}/.Wolfram Research 21whitelist ${HOME}/.Wolfram Research
21whitelist ${HOME}/Documents/Wolfram Mathematica 22whitelist ${HOME}/Documents/Wolfram Mathematica
diff --git a/etc/Viber.profile b/etc/Viber.profile
index 3f3ee8590..40358aa87 100644
--- a/etc/Viber.profile
+++ b/etc/Viber.profile
@@ -5,7 +5,6 @@ include Viber.local
5# Persistent global definitions 5# Persistent global definitions
6include globals.local 6include globals.local
7 7
8
9noblacklist ${HOME}/.ViberPC 8noblacklist ${HOME}/.ViberPC
10 9
11include disable-common.inc 10include disable-common.inc
@@ -15,6 +14,7 @@ include disable-interpreters.inc
15include disable-passwdmgr.inc 14include disable-passwdmgr.inc
16include disable-programs.inc 15include disable-programs.inc
17 16
17mkdir ${HOME}/.ViberPC
18whitelist ${DOWNLOADS} 18whitelist ${DOWNLOADS}
19whitelist ${HOME}/.ViberPC 19whitelist ${HOME}/.ViberPC
20include whitelist-common.inc 20include whitelist-common.inc
@@ -36,5 +36,4 @@ private-bin sh,bash,dig,awk,Viber
36private-etc hosts,fonts,mailcap,resolv.conf,X11,pulse,alternatives,localtime,nsswitch.conf,ssl,proxychains.conf,pki,ca-certificates,crypto-policies,machine-id,asound.conf 36private-etc hosts,fonts,mailcap,resolv.conf,X11,pulse,alternatives,localtime,nsswitch.conf,ssl,proxychains.conf,pki,ca-certificates,crypto-policies,machine-id,asound.conf
37private-tmp 37private-tmp
38 38
39
40env QTWEBENGINE_DISABLE_SANDBOX=1 39env QTWEBENGINE_DISABLE_SANDBOX=1
diff --git a/etc/Xephyr.profile b/etc/Xephyr.profile
index d9b7f8c26..230a88472 100644
--- a/etc/Xephyr.profile
+++ b/etc/Xephyr.profile
@@ -7,16 +7,13 @@ include globals.local
7 7
8# 8#
9# This profile will sandbox Xephyr server itself when used with firejail --x11=xephyr. 9# This profile will sandbox Xephyr server itself when used with firejail --x11=xephyr.
10# To enable it, create a firejail-Xephyr symlink in /usr/local/bin: 10# To enable it, create a firejail-Xephyr symlink in /usr/local/bin:
11# 11#
12# $ sudo ln -s /usr/bin/firejail /usr/local/bin/Xephyr 12# $ sudo ln -s /usr/bin/firejail /usr/local/bin/Xephyr
13# 13#
14# or run "sudo firecfg" 14# or run "sudo firecfg"
15# 15#
16 16
17
18blacklist /media
19
20whitelist /var/lib/xkb 17whitelist /var/lib/xkb
21include whitelist-common.inc 18include whitelist-common.inc
22 19
@@ -34,10 +31,11 @@ protocol unix
34seccomp 31seccomp
35shell none 32shell none
36 33
34disable-mnt
37# using a private home directory 35# using a private home directory
38private 36private
39# private-bin Xephyr,sh,xkbcomp 37# private-bin Xephyr,sh,xkbcomp
40# private-bin Xephyr,sh,xkbcomp,strace,bash,cat,ls 38# private-bin Xephyr,sh,xkbcomp,strace,bash,cat,ls
41private-dev 39private-dev
42# private-etc alternatives,ld.so.conf,ld.so.cache,resolv.conf,host.conf,nsswitch.conf,gai.conf,hosts,hostname 40# private-etc alternatives,ld.so.conf,ld.so.cache,resolv.conf,host.conf,nsswitch.conf,gai.conf,hosts,hostname
43private-tmp 41#private-tmp
diff --git a/etc/Xvfb.profile b/etc/Xvfb.profile
index ed07485d6..3580f8336 100644
--- a/etc/Xvfb.profile
+++ b/etc/Xvfb.profile
@@ -9,7 +9,7 @@ include globals.local
9# 9#
10# This profile will sandbox Xvfb server itself when used with firejail --x11=xvfb. 10# This profile will sandbox Xvfb server itself when used with firejail --x11=xvfb.
11# The target program is sandboxed with its own profile. By default the this functionality 11# The target program is sandboxed with its own profile. By default the this functionality
12# is disabled. To enable it, create a firejail-Xvfb symlink in /usr/local/bin: 12# is disabled. To enable it, create a firejail-Xvfb symlink in /usr/local/bin:
13# 13#
14# $ sudo ln -s /usr/bin/firejail /usr/local/bin/Xvfb 14# $ sudo ln -s /usr/bin/firejail /usr/local/bin/Xvfb
15# 15#
@@ -17,8 +17,6 @@ include globals.local
17# some Linux distributions. Also, older versions of Xpra use Xvfb. 17# some Linux distributions. Also, older versions of Xpra use Xvfb.
18# 18#
19 19
20blacklist /media
21
22whitelist /var/lib/xkb 20whitelist /var/lib/xkb
23include whitelist-common.inc 21include whitelist-common.inc
24 22
@@ -36,6 +34,7 @@ protocol unix
36seccomp 34seccomp
37shell none 35shell none
38 36
37disable-mnt
39# using a private home directory 38# using a private home directory
40private 39private
41# private-bin Xvfb,sh,xkbcomp 40# private-bin Xvfb,sh,xkbcomp
diff --git a/etc/allow-java.inc b/etc/allow-java.inc
new file mode 100644
index 000000000..c6ab3b2eb
--- /dev/null
+++ b/etc/allow-java.inc
@@ -0,0 +1,4 @@
1noblacklist ${PATH}/java
2noblacklist /usr/lib/java
3noblacklist /etc/java
4noblacklist /usr/share/java
diff --git a/etc/allow-lua.inc b/etc/allow-lua.inc
new file mode 100644
index 000000000..51d76f9b1
--- /dev/null
+++ b/etc/allow-lua.inc
@@ -0,0 +1,4 @@
1noblacklist ${PATH}/lua*
2noblacklist /usr/include/lua*
3noblacklist /usr/lib/lua
4noblacklist /usr/share/lua
diff --git a/etc/allow-perl.inc b/etc/allow-perl.inc
new file mode 100644
index 000000000..d37328936
--- /dev/null
+++ b/etc/allow-perl.inc
@@ -0,0 +1,7 @@
1noblacklist ${PATH}/cpan*
2noblacklist ${PATH}/core_perl
3noblacklist ${PATH}/perl
4noblacklist ${PATH}/site_perl
5noblacklist ${PATH}/vendor_perl
6noblacklist /usr/lib/perl*
7noblacklist /usr/share/perl*
diff --git a/etc/allow-python2.inc b/etc/allow-python2.inc
new file mode 100644
index 000000000..8ea61648b
--- /dev/null
+++ b/etc/allow-python2.inc
@@ -0,0 +1,5 @@
1noblacklist ${PATH}/python2*
2noblacklist /usr/include/python2*
3noblacklist /usr/lib/python2*
4noblacklist /usr/local/lib/python2*
5noblacklist /usr/share/python2*
diff --git a/etc/allow-python3.inc b/etc/allow-python3.inc
new file mode 100644
index 000000000..91c7ffca4
--- /dev/null
+++ b/etc/allow-python3.inc
@@ -0,0 +1,5 @@
1noblacklist ${PATH}/python3*
2noblacklist /usr/include/python3*
3noblacklist /usr/lib/python3*
4noblacklist /usr/local/lib/python3*
5noblacklist /usr/share/python3*
diff --git a/etc/amule.profile b/etc/amule.profile
index 7cb2130bb..feb4a5e7e 100644
--- a/etc/amule.profile
+++ b/etc/amule.profile
@@ -6,7 +6,6 @@ include amule.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9
10noblacklist ${HOME}/.aMule 9noblacklist ${HOME}/.aMule
11 10
12include disable-common.inc 11include disable-common.inc
@@ -16,6 +15,7 @@ include disable-interpreters.inc
16include disable-passwdmgr.inc 15include disable-passwdmgr.inc
17include disable-programs.inc 16include disable-programs.inc
18 17
18mkdir ${HOME}/.aMule
19whitelist ${DOWNLOADS} 19whitelist ${DOWNLOADS}
20whitelist ${HOME}/.aMule 20whitelist ${HOME}/.aMule
21include whitelist-common.inc 21include whitelist-common.inc
diff --git a/etc/anki.profile b/etc/anki.profile
index 6ab95dd52..d50c720f7 100644
--- a/etc/anki.profile
+++ b/etc/anki.profile
@@ -10,12 +10,8 @@ noblacklist ${DOCUMENTS}
10noblacklist ${HOME}/.local/share/Anki2 10noblacklist ${HOME}/.local/share/Anki2
11 11
12# Allow python (blacklisted by disable-interpreters.inc) 12# Allow python (blacklisted by disable-interpreters.inc)
13noblacklist ${PATH}/python2* 13include allow-python2.inc
14noblacklist ${PATH}/python3* 14include allow-python3.inc
15noblacklist /usr/lib/python2*
16noblacklist /usr/lib/python3*
17noblacklist /usr/local/lib/python2*
18noblacklist /usr/local/lib/python3*
19 15
20include disable-common.inc 16include disable-common.inc
21include disable-devel.inc 17include disable-devel.inc
@@ -25,6 +21,7 @@ include disable-passwdmgr.inc
25include disable-programs.inc 21include disable-programs.inc
26include disable-xdg.inc 22include disable-xdg.inc
27 23
24mkdir ${HOME}/.local/share/Anki2
28whitelist ${DOCUMENTS} 25whitelist ${DOCUMENTS}
29whitelist ${HOME}/.local/share/Anki2 26whitelist ${HOME}/.local/share/Anki2
30include whitelist-common.inc 27include whitelist-common.inc
diff --git a/etc/arduino.profile b/etc/arduino.profile
index 2ea8445fe..26bd3d0a7 100644
--- a/etc/arduino.profile
+++ b/etc/arduino.profile
@@ -11,11 +11,8 @@ noblacklist ${HOME}/.java
11noblacklist ${HOME}/Arduino 11noblacklist ${HOME}/Arduino
12noblacklist ${DOCUMENTS} 12noblacklist ${DOCUMENTS}
13 13
14# Allow access to java 14# Allow java (blacklisted by disable-devel.inc)
15noblacklist ${PATH}/java 15include allow-java.inc
16noblacklist /usr/lib/java
17noblacklist /etc/java
18noblacklist /usr/share/java
19 16
20include disable-common.inc 17include disable-common.inc
21include disable-devel.inc 18include disable-devel.inc
diff --git a/etc/arm.profile b/etc/arm.profile
index ae93e9665..dd3fa190a 100644
--- a/etc/arm.profile
+++ b/etc/arm.profile
@@ -9,12 +9,8 @@ include globals.local
9noblacklist ${HOME}/.arm 9noblacklist ${HOME}/.arm
10 10
11# Allow python (blacklisted by disable-interpreters.inc) 11# Allow python (blacklisted by disable-interpreters.inc)
12noblacklist ${PATH}/python2* 12include allow-python2.inc
13noblacklist ${PATH}/python3* 13include allow-python3.inc
14noblacklist /usr/lib/python2*
15noblacklist /usr/lib/python3*
16noblacklist /usr/local/lib/python2*
17noblacklist /usr/local/lib/python3*
18 14
19include disable-common.inc 15include disable-common.inc
20include disable-devel.inc 16include disable-devel.inc
diff --git a/etc/assogiate.profile b/etc/assogiate.profile
index 6a9848e83..02a4798f4 100644
--- a/etc/assogiate.profile
+++ b/etc/assogiate.profile
@@ -7,7 +7,6 @@ include assogiate.local
7include globals.local 7include globals.local
8 8
9noblacklist ${PICTURES} 9noblacklist ${PICTURES}
10whitelist ${PICTURES}
11 10
12include disable-common.inc 11include disable-common.inc
13include disable-devel.inc 12include disable-devel.inc
@@ -16,6 +15,8 @@ include disable-interpreters.inc
16include disable-passwdmgr.inc 15include disable-passwdmgr.inc
17include disable-programs.inc 16include disable-programs.inc
18include disable-xdg.inc 17include disable-xdg.inc
18
19whitelist ${PICTURES}
19include whitelist-common.inc 20include whitelist-common.inc
20include whitelist-var-common.inc 21include whitelist-var-common.inc
21 22
diff --git a/etc/atool.profile b/etc/atool.profile
index b17498e9d..3df32baac 100644
--- a/etc/atool.profile
+++ b/etc/atool.profile
@@ -7,14 +7,10 @@ include atool.local
7# Persistent global definitions 7# Persistent global definitions
8include globals.local 8include globals.local
9 9
10blacklist /tmp/.X11-unix
11
12# Allow perl (blacklisted by disable-interpreters.inc) 10# Allow perl (blacklisted by disable-interpreters.inc)
13noblacklist ${PATH}/cpan* 11include allow-perl.inc
14noblacklist ${PATH}/core_perl 12
15noblacklist ${PATH}/perl 13blacklist /tmp/.X11-unix
16noblacklist /usr/lib/perl*
17noblacklist /usr/share/perl*
18 14
19include disable-common.inc 15include disable-common.inc
20# include disable-devel.inc 16# include disable-devel.inc
diff --git a/etc/authenticator.profile b/etc/authenticator.profile
index e08dc12eb..39546112e 100644
--- a/etc/authenticator.profile
+++ b/etc/authenticator.profile
@@ -10,12 +10,8 @@ noblacklist ${HOME}/.cache/Authenticator
10noblacklist ${HOME}/.config/Authenticator 10noblacklist ${HOME}/.config/Authenticator
11 11
12# Allow python (blacklisted by disable-interpreters.inc) 12# Allow python (blacklisted by disable-interpreters.inc)
13#noblacklist ${PATH}/python2* 13#include allow-python2.inc
14noblacklist ${PATH}/python3* 14include allow-python3.inc
15#noblacklist /usr/lib/python2*
16noblacklist /usr/lib/python3*
17#noblacklist /usr/local/lib/python2*
18noblacklist /usr/local/lib/python3*
19 15
20include disable-common.inc 16include disable-common.inc
21include disable-devel.inc 17include disable-devel.inc
diff --git a/etc/autokey-common.profile b/etc/autokey-common.profile
index 44c0a3c15..47396fe43 100644
--- a/etc/autokey-common.profile
+++ b/etc/autokey-common.profile
@@ -10,14 +10,8 @@ noblacklist ${HOME}/.config/autokey
10noblacklist ${HOME}/.local/share/autokey 10noblacklist ${HOME}/.local/share/autokey
11 11
12# Allow python (blacklisted by disable-interpreters.inc) 12# Allow python (blacklisted by disable-interpreters.inc)
13noblacklist ${PATH}/python2* 13include allow-python2.inc
14noblacklist ${PATH}/python3* 14include allow-python3.inc
15noblacklist /usr/lib/python2*
16noblacklist /usr/lib/python3*
17noblacklist /usr/local/lib/python2*
18noblacklist /usr/local/lib/python3*
19noblacklist /usr/share/python2*
20noblacklist /usr/share/python3*
21 15
22include disable-common.inc 16include disable-common.inc
23include disable-devel.inc 17include disable-devel.inc
diff --git a/etc/baobab.profile b/etc/baobab.profile
index fc4e7f268..893865edd 100644
--- a/etc/baobab.profile
+++ b/etc/baobab.profile
@@ -33,4 +33,4 @@ private-bin baobab
33private-dev 33private-dev
34private-tmp 34private-tmp
35 35
36#memory-deny-write-execute - breaks on Arch 36#memory-deny-write-execute - breaks on Arch
diff --git a/etc/basilisk.profile b/etc/basilisk.profile
index 5f9fc8ef7..5bc91dc74 100644
--- a/etc/basilisk.profile
+++ b/etc/basilisk.profile
@@ -10,7 +10,6 @@ noblacklist ${HOME}/.moonchild productions/basilisk
10 10
11mkdir ${HOME}/.cache/moonchild productions/basilisk 11mkdir ${HOME}/.cache/moonchild productions/basilisk
12mkdir ${HOME}/.moonchild productions 12mkdir ${HOME}/.moonchild productions
13whitelist ${DOWNLOADS}
14whitelist ${HOME}/.cache/moonchild productions/basilisk 13whitelist ${HOME}/.cache/moonchild productions/basilisk
15whitelist ${HOME}/.moonchild productions 14whitelist ${HOME}/.moonchild productions
16 15
diff --git a/etc/bibletime.profile b/etc/bibletime.profile
index c41aafd47..4f1b05c88 100644
--- a/etc/bibletime.profile
+++ b/etc/bibletime.profile
@@ -6,12 +6,12 @@ include bibletime.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9blacklist ${HOME}/.bashrc
10
11noblacklist ${HOME}/.bibletime 9noblacklist ${HOME}/.bibletime
12noblacklist ${HOME}/.sword 10noblacklist ${HOME}/.sword
13noblacklist ${HOME}/.local/share/bibletime 11noblacklist ${HOME}/.local/share/bibletime
14 12
13blacklist ${HOME}/.bashrc
14
15include disable-common.inc 15include disable-common.inc
16include disable-devel.inc 16include disable-devel.inc
17include disable-exec.inc 17include disable-exec.inc
diff --git a/etc/bitlbee.profile b/etc/bitlbee.profile
index 2c2f88ed5..287e5f52e 100644
--- a/etc/bitlbee.profile
+++ b/etc/bitlbee.profile
@@ -33,6 +33,6 @@ private
33private-cache 33private-cache
34private-dev 34private-dev
35private-tmp 35private-tmp
36read-write /var/lib/bitlbee
37 36
38noexec /tmp 37noexec /tmp
38read-write /var/lib/bitlbee
diff --git a/etc/bitwarden.profile b/etc/bitwarden.profile
index 2a6fe9d42..609543e14 100644
--- a/etc/bitwarden.profile
+++ b/etc/bitwarden.profile
@@ -6,9 +6,10 @@ include bitwarden.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9noblacklist ${HOME}/.config/Bitwarden
10ignore noexec /tmp 9ignore noexec /tmp
11 10
11noblacklist ${HOME}/.config/Bitwarden
12
12include disable-common.inc 13include disable-common.inc
13include disable-devel.inc 14include disable-devel.inc
14include disable-exec.inc 15include disable-exec.inc
@@ -17,11 +18,11 @@ include disable-passwdmgr.inc
17include disable-programs.inc 18include disable-programs.inc
18include disable-xdg.inc 19include disable-xdg.inc
19 20
20include whitelist-common.inc 21mkdir ${HOME}/.config/Bitwarden
21include whitelist-var-common.inc
22
23whitelist ${HOME}/.config/Bitwarden 22whitelist ${HOME}/.config/Bitwarden
24whitelist ${DOWNLOADS} 23whitelist ${DOWNLOADS}
24include whitelist-common.inc
25include whitelist-var-common.inc
25 26
26apparmor 27apparmor
27caps.drop all 28caps.drop all
diff --git a/etc/bleachbit.profile b/etc/bleachbit.profile
index cbc8c25d6..47c0cfa48 100644
--- a/etc/bleachbit.profile
+++ b/etc/bleachbit.profile
@@ -7,12 +7,8 @@ include bleachbit.local
7include globals.local 7include globals.local
8 8
9# Allow python (blacklisted by disable-interpreters.inc) 9# Allow python (blacklisted by disable-interpreters.inc)
10noblacklist ${PATH}/python2* 10include allow-python2.inc
11noblacklist ${PATH}/python3* 11include allow-python3.inc
12noblacklist /usr/lib/python2*
13noblacklist /usr/lib/python3*
14noblacklist /usr/local/lib/python2*
15noblacklist /usr/local/lib/python3*
16 12
17include disable-common.inc 13include disable-common.inc
18include disable-devel.inc 14include disable-devel.inc
diff --git a/etc/blender.profile b/etc/blender.profile
index bfe906408..6a72fb602 100644
--- a/etc/blender.profile
+++ b/etc/blender.profile
@@ -9,12 +9,8 @@ include globals.local
9noblacklist ${HOME}/.config/blender 9noblacklist ${HOME}/.config/blender
10 10
11# Allow python (blacklisted by disable-interpreters.inc) 11# Allow python (blacklisted by disable-interpreters.inc)
12noblacklist ${PATH}/python2* 12include allow-python2.inc
13noblacklist ${PATH}/python3* 13include allow-python3.inc
14noblacklist /usr/lib/python2*
15noblacklist /usr/lib/python3*
16noblacklist /usr/local/lib/python2*
17noblacklist /usr/local/lib/python3*
18 14
19include disable-common.inc 15include disable-common.inc
20include disable-devel.inc 16include disable-devel.inc
diff --git a/etc/brackets.profile b/etc/brackets.profile
index fa0d7e592..3e157d841 100644
--- a/etc/brackets.profile
+++ b/etc/brackets.profile
@@ -8,7 +8,7 @@ include globals.local
8noblacklist ${HOME}/.config/Brackets 8noblacklist ${HOME}/.config/Brackets
9#noblacklist /opt/brackets/ 9#noblacklist /opt/brackets/
10#noblacklist /opt/google/ 10#noblacklist /opt/google/
11# Uncomment the the next two lines if you are developing rust. 11# Uncomment the next two lines if you are developing rust.
12# or put it in your brackets.local 12# or put it in your brackets.local
13#noblacklist ${HOME}/.cargo/config 13#noblacklist ${HOME}/.cargo/config
14#noblacklist ${HOME}/.cargo/registry 14#noblacklist ${HOME}/.cargo/registry
diff --git a/etc/brave-browser.profile b/etc/brave-browser.profile
index 6d9d162fd..e223ecf87 100644
--- a/etc/brave-browser.profile
+++ b/etc/brave-browser.profile
@@ -1,6 +1,5 @@
1# Firejail profile alias for brave 1# Firejail profile alias for brave
2# This file is overwritten after every install/update 2# This file is overwritten after every install/update
3 3
4
5# Redirect 4# Redirect
6include brave.profile 5include brave.profile
diff --git a/etc/brave.profile b/etc/brave.profile
index cc003d49a..984fab5a8 100644
--- a/etc/brave.profile
+++ b/etc/brave.profile
@@ -6,6 +6,9 @@ include brave.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9# noexec /tmp is included in chromium-common.profile and breaks Brave
10ignore noexec /tmp
11
9noblacklist ${HOME}/.config/brave 12noblacklist ${HOME}/.config/brave
10noblacklist ${HOME}/.config/BraveSoftware 13noblacklist ${HOME}/.config/BraveSoftware
11# brave uses gpg for built-in password manager 14# brave uses gpg for built-in password manager
@@ -17,8 +20,5 @@ whitelist ${HOME}/.config/brave
17whitelist ${HOME}/.config/BraveSoftware 20whitelist ${HOME}/.config/BraveSoftware
18whitelist ${HOME}/.gnupg 21whitelist ${HOME}/.gnupg
19 22
20# noexec /tmp is included in chromium-common.profile and breaks Brave
21ignore noexec /tmp
22
23# Redirect 23# Redirect
24include chromium-common.profile 24include chromium-common.profile
diff --git a/etc/caja.profile b/etc/caja.profile
index f38110dc9..2a95649af 100644
--- a/etc/caja.profile
+++ b/etc/caja.profile
@@ -14,12 +14,8 @@ noblacklist ${HOME}/.local/share/Trash
14# noblacklist ${HOME}/.local/share/caja-python 14# noblacklist ${HOME}/.local/share/caja-python
15 15
16# Allow python (blacklisted by disable-interpreters.inc) 16# Allow python (blacklisted by disable-interpreters.inc)
17noblacklist ${PATH}/python2* 17include allow-python2.inc
18noblacklist ${PATH}/python3* 18include allow-python3.inc
19noblacklist /usr/lib/python2*
20noblacklist /usr/lib/python3*
21noblacklist /usr/local/lib/python2*
22noblacklist /usr/local/lib/python3*
23 19
24include disable-common.inc 20include disable-common.inc
25include disable-devel.inc 21include disable-devel.inc
diff --git a/etc/cantata.profile b/etc/cantata.profile
index e4a4de9c1..19abbfea2 100644
--- a/etc/cantata.profile
+++ b/etc/cantata.profile
@@ -11,9 +11,8 @@ noblacklist ${HOME}/.config/cantata
11noblacklist ${HOME}/.local/share/cantata 11noblacklist ${HOME}/.local/share/cantata
12noblacklist ${MUSIC} 12noblacklist ${MUSIC}
13 13
14noblacklist ${PATH}/perl 14# Allow perl (blacklisted by disable-interpreters.inc)
15noblacklist /usr/lib/perl* 15include allow-perl.inc
16noblacklist /usr/share/perl*
17 16
18include disable-common.inc 17include disable-common.inc
19include disable-devel.inc 18include disable-devel.inc
diff --git a/etc/catfish.profile b/etc/catfish.profile
index 341348ff9..f615b5323 100644
--- a/etc/catfish.profile
+++ b/etc/catfish.profile
@@ -12,12 +12,8 @@ include globals.local
12noblacklist ${HOME}/.config/catfish 12noblacklist ${HOME}/.config/catfish
13 13
14# Allow python (blacklisted by disable-interpreters.inc) 14# Allow python (blacklisted by disable-interpreters.inc)
15noblacklist ${PATH}/python2* 15include allow-python2.inc
16noblacklist ${PATH}/python3* 16include allow-python3.inc
17noblacklist /usr/lib/python2*
18noblacklist /usr/lib/python3*
19noblacklist /usr/local/lib/python2*
20noblacklist /usr/local/lib/python3*
21 17
22include disable-common.inc 18include disable-common.inc
23# include disable-devel.inc 19# include disable-devel.inc
diff --git a/etc/celluloid.profile b/etc/celluloid.profile
index 5604a16b9..190a49588 100644
--- a/etc/celluloid.profile
+++ b/etc/celluloid.profile
@@ -12,12 +12,8 @@ noblacklist ${MUSIC}
12noblacklist ${VIDEOS} 12noblacklist ${VIDEOS}
13 13
14# Allow python (blacklisted by disable-interpreters.inc) 14# Allow python (blacklisted by disable-interpreters.inc)
15noblacklist ${PATH}/python2* 15include allow-python2.inc
16noblacklist ${PATH}/python3* 16include allow-python3.inc
17noblacklist /usr/lib/python2*
18noblacklist /usr/lib/python3*
19noblacklist /usr/local/lib/python2*
20noblacklist /usr/local/lib/python3*
21 17
22include disable-common.inc 18include disable-common.inc
23include disable-devel.inc 19include disable-devel.inc
diff --git a/etc/checkbashisms.profile b/etc/checkbashisms.profile
index 5afbf2d56..1bb9b1860 100644
--- a/etc/checkbashisms.profile
+++ b/etc/checkbashisms.profile
@@ -10,11 +10,7 @@ include globals.local
10noblacklist ${DOCUMENTS} 10noblacklist ${DOCUMENTS}
11 11
12# Allow perl (blacklisted by disable-interpreters.inc) 12# Allow perl (blacklisted by disable-interpreters.inc)
13noblacklist ${PATH}/cpan* 13include allow-perl.inc
14noblacklist ${PATH}/core_perl
15noblacklist ${PATH}/perl
16noblacklist /usr/lib/perl*
17noblacklist /usr/share/perl*
18 14
19include disable-common.inc 15include disable-common.inc
20include disable-devel.inc 16include disable-devel.inc
diff --git a/etc/cherrytree.profile b/etc/cherrytree.profile
index 44ef12aa2..70dea5bd9 100644
--- a/etc/cherrytree.profile
+++ b/etc/cherrytree.profile
@@ -10,12 +10,8 @@ noblacklist ${HOME}/.config/cherrytree
10noblacklist ${DOCUMENTS} 10noblacklist ${DOCUMENTS}
11 11
12# Allow python (blacklisted by disable-interpreters.inc) 12# Allow python (blacklisted by disable-interpreters.inc)
13noblacklist ${PATH}/python2* 13include allow-python2.inc
14noblacklist ${PATH}/python3* 14include allow-python3.inc
15noblacklist /usr/lib/python2*
16noblacklist /usr/lib/python3*
17noblacklist /usr/local/lib/python2*
18noblacklist /usr/local/lib/python3*
19 15
20include disable-common.inc 16include disable-common.inc
21include disable-devel.inc 17include disable-devel.inc
diff --git a/etc/chromium.profile b/etc/chromium.profile
index dab9ce449..1c977a8ba 100644
--- a/etc/chromium.profile
+++ b/etc/chromium.profile
@@ -12,6 +12,7 @@ noblacklist ${HOME}/.config/chromium-flags.conf
12 12
13mkdir ${HOME}/.cache/chromium 13mkdir ${HOME}/.cache/chromium
14mkdir ${HOME}/.config/chromium 14mkdir ${HOME}/.config/chromium
15mkfile ${HOME}/.config/chromium-flags.conf
15whitelist ${HOME}/.cache/chromium 16whitelist ${HOME}/.cache/chromium
16whitelist ${HOME}/.config/chromium 17whitelist ${HOME}/.config/chromium
17whitelist ${HOME}/.config/chromium-flags.conf 18whitelist ${HOME}/.config/chromium-flags.conf
diff --git a/etc/clawsker.profile b/etc/clawsker.profile
index c519ecedb..95f15398a 100644
--- a/etc/clawsker.profile
+++ b/etc/clawsker.profile
@@ -9,11 +9,7 @@ include globals.local
9noblacklist ${HOME}/.claws-mail 9noblacklist ${HOME}/.claws-mail
10 10
11# Allow perl (blacklisted by disable-interpreters.inc) 11# Allow perl (blacklisted by disable-interpreters.inc)
12noblacklist ${PATH}/cpan* 12include allow-perl.inc
13noblacklist ${PATH}/core_perl
14noblacklist ${PATH}/perl
15noblacklist /usr/lib/perl*
16noblacklist /usr/share/perl*
17 13
18include disable-common.inc 14include disable-common.inc
19include disable-devel.inc 15include disable-devel.inc
diff --git a/etc/conkeror.profile b/etc/conkeror.profile
index 21bef48a4..38edf0d21 100644
--- a/etc/conkeror.profile
+++ b/etc/conkeror.profile
@@ -10,9 +10,10 @@ noblacklist ${HOME}/.conkeror.mozdev.org
10include disable-common.inc 10include disable-common.inc
11include disable-programs.inc 11include disable-programs.inc
12 12
13mkdir ${HOME}/.conkeror.mozdev.org
14mkfile ${HOME}/.conkerorrc
13whitelist ${HOME}/.conkeror.mozdev.org 15whitelist ${HOME}/.conkeror.mozdev.org
14whitelist ${HOME}/.conkerorrc 16whitelist ${HOME}/.conkerorrc
15whitelist ${HOME}/.gtkrc-2.0
16whitelist ${HOME}/.lastpass 17whitelist ${HOME}/.lastpass
17whitelist ${HOME}/.pentadactyl 18whitelist ${HOME}/.pentadactyl
18whitelist ${HOME}/.pentadactylrc 19whitelist ${HOME}/.pentadactylrc
diff --git a/etc/cower.profile b/etc/cower.profile
index bc1eeedc0..69575cea4 100644
--- a/etc/cower.profile
+++ b/etc/cower.profile
@@ -1,20 +1,13 @@
1# Firejail profile for cower 1# Firejail profile for cower
2# Description: a simple AUR agent with a pretentious name
2# This file is overwritten after every install/update 3# This file is overwritten after every install/update
3
4# This profile could be significantly strengthened by adding the following to cower.local
5# whitelist ${HOME}/<Your Build Folder>
6# whitelist ${HOME}/.config/cower/
7
8quiet 4quiet
9
10# Persistent local customizations 5# Persistent local customizations
11include cower.local 6include cower.local
12# Persistent global definitions 7# Persistent global definitions
13include globals.local 8include globals.local
14 9
15noblacklist ${HOME}/.config/cower/config 10noblacklist ${HOME}/.config/cower
16read-only ${HOME}/.config/cower/config
17
18noblacklist /var/lib/pacman 11noblacklist /var/lib/pacman
19 12
20include disable-common.inc 13include disable-common.inc
@@ -23,6 +16,11 @@ include disable-exec.inc
23include disable-interpreters.inc 16include disable-interpreters.inc
24include disable-passwdmgr.inc 17include disable-passwdmgr.inc
25include disable-programs.inc 18include disable-programs.inc
19include disable-xdg.inc
20
21# This profile could be significantly strengthened by adding the following to cower.local
22# whitelist ${HOME}/<Your Build Folder>
23# whitelist ${HOME}/.config/cower
26 24
27caps.drop all 25caps.drop all
28ipc-namespace 26ipc-namespace
@@ -42,7 +40,9 @@ shell none
42 40
43disable-mnt 41disable-mnt
44private-bin cower 42private-bin cower
43private-cache
45private-dev 44private-dev
46private-tmp 45private-tmp
47 46
48memory-deny-write-execute 47memory-deny-write-execute
48read-only ${HOME}/.config/cower/config
diff --git a/etc/cpio.profile b/etc/cpio.profile
index b6f7e7f9f..0bb45f5cd 100644
--- a/etc/cpio.profile
+++ b/etc/cpio.profile
@@ -7,11 +7,11 @@ include cpio.local
7# Persistent global definitions 7# Persistent global definitions
8include globals.local 8include globals.local
9 9
10blacklist /tmp/.X11-unix
11
12noblacklist /sbin 10noblacklist /sbin
13noblacklist /usr/sbin 11noblacklist /usr/sbin
14 12
13blacklist /tmp/.X11-unix
14
15include disable-common.inc 15include disable-common.inc
16# include disable-devel.inc 16# include disable-devel.inc
17include disable-exec.inc 17include disable-exec.inc
diff --git a/etc/curl.profile b/etc/curl.profile
index 2703c6fe8..b8b91d278 100644
--- a/etc/curl.profile
+++ b/etc/curl.profile
@@ -7,10 +7,10 @@ include curl.local
7# Persistent global definitions 7# Persistent global definitions
8include globals.local 8include globals.local
9 9
10blacklist /tmp/.X11-unix
11
12noblacklist ${HOME}/.curlrc 10noblacklist ${HOME}/.curlrc
13 11
12blacklist /tmp/.X11-unix
13
14include disable-common.inc 14include disable-common.inc
15include disable-exec.inc 15include disable-exec.inc
16include disable-passwdmgr.inc 16include disable-passwdmgr.inc
diff --git a/etc/d-feet.profile b/etc/d-feet.profile
index 9475bdd2a..30749ab40 100644
--- a/etc/d-feet.profile
+++ b/etc/d-feet.profile
@@ -9,12 +9,8 @@ include globals.local
9noblacklist ${HOME}/.config/d-feet 9noblacklist ${HOME}/.config/d-feet
10 10
11# Allow python (disabled by disable-interpreters.inc) 11# Allow python (disabled by disable-interpreters.inc)
12noblacklist ${PATH}/python2* 12include allow-python2.inc
13noblacklist ${PATH}/python3* 13include allow-python3.inc
14noblacklist /usr/lib/python2*
15noblacklist /usr/lib/python3*
16noblacklist /usr/local/lib/python2*
17noblacklist /usr/local/lib/python3*
18 14
19include disable-common.inc 15include disable-common.inc
20include disable-devel.inc 16include disable-devel.inc
diff --git a/etc/dconf-editor.profile b/etc/dconf-editor.profile
index 6b7f8f112..7cd39ca6a 100644
--- a/etc/dconf-editor.profile
+++ b/etc/dconf-editor.profile
@@ -6,8 +6,6 @@ include dconf-editor.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9whitelist ${HOME}/.local/share/glib-2.0
10
11include disable-common.inc 9include disable-common.inc
12include disable-devel.inc 10include disable-devel.inc
13include disable-exec.inc 11include disable-exec.inc
@@ -16,6 +14,7 @@ include disable-passwdmgr.inc
16include disable-programs.inc 14include disable-programs.inc
17include disable-xdg.inc 15include disable-xdg.inc
18 16
17whitelist ${HOME}/.local/share/glib-2.0
19include whitelist-common.inc 18include whitelist-common.inc
20 19
21apparmor 20apparmor
@@ -39,7 +38,7 @@ disable-mnt
39private-bin dconf-editor 38private-bin dconf-editor
40private-cache 39private-cache
41private-dev 40private-dev
42private-etc alternatives,fonts,machine-id 41private-etc alternatives,dconf,fonts,gtk-3.0,machine-id
43private-lib 42private-lib
44private-tmp 43private-tmp
45 44
diff --git a/etc/dconf.profile b/etc/dconf.profile
index 6ffcddaf5..cf8b4ab43 100644
--- a/etc/dconf.profile
+++ b/etc/dconf.profile
@@ -6,8 +6,6 @@ include dconf.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9whitelist ${HOME}/.local/share/glib-2.0
10
11include disable-common.inc 9include disable-common.inc
12include disable-devel.inc 10include disable-devel.inc
13include disable-exec.inc 11include disable-exec.inc
@@ -16,6 +14,7 @@ include disable-passwdmgr.inc
16include disable-programs.inc 14include disable-programs.inc
17include disable-xdg.inc 15include disable-xdg.inc
18 16
17whitelist ${HOME}/.local/share/glib-2.0
19# dconf paths are whitelisted by the following 18# dconf paths are whitelisted by the following
20include whitelist-common.inc 19include whitelist-common.inc
21 20
diff --git a/etc/deluge.profile b/etc/deluge.profile
index e86c84272..e86255d22 100644
--- a/etc/deluge.profile
+++ b/etc/deluge.profile
@@ -9,12 +9,8 @@ include globals.local
9noblacklist ${HOME}/.config/deluge 9noblacklist ${HOME}/.config/deluge
10 10
11# Allow python (blacklisted by disable-interpreters.inc) 11# Allow python (blacklisted by disable-interpreters.inc)
12noblacklist ${PATH}/python2* 12include allow-python2.inc
13noblacklist ${PATH}/python3* 13include allow-python3.inc
14noblacklist /usr/lib/python2*
15noblacklist /usr/lib/python3*
16noblacklist /usr/local/lib/python2*
17noblacklist /usr/local/lib/python3*
18 14
19include disable-common.inc 15include disable-common.inc
20# include disable-devel.inc 16# include disable-devel.inc
diff --git a/etc/devilspie2.profile b/etc/devilspie2.profile
index 2f599366b..9d67ee76e 100644
--- a/etc/devilspie2.profile
+++ b/etc/devilspie2.profile
@@ -8,6 +8,9 @@ include globals.local
8 8
9noblacklist ${HOME}/.config/devilspie2 9noblacklist ${HOME}/.config/devilspie2
10 10
11# Allow lua (blacklisted by disable-interpreters.inc)
12include allow-lua.inc
13
11include disable-common.inc 14include disable-common.inc
12include disable-devel.inc 15include disable-devel.inc
13include disable-exec.inc 16include disable-exec.inc
diff --git a/etc/dex2jar.profile b/etc/dex2jar.profile
index 06a6be3aa..a6fed6c78 100644
--- a/etc/dex2jar.profile
+++ b/etc/dex2jar.profile
@@ -6,11 +6,8 @@ include dex2jar.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9# Allow access to java 9# Allow java (blacklisted by disable-devel.inc)
10noblacklist ${PATH}/java 10include allow-java.inc
11noblacklist /usr/lib/java
12noblacklist /etc/java
13noblacklist /usr/share/java
14 11
15include disable-common.inc 12include disable-common.inc
16include disable-devel.inc 13include disable-devel.inc
diff --git a/etc/disable-common.inc b/etc/disable-common.inc
index 9d7a34bc5..9d9be1426 100644
--- a/etc/disable-common.inc
+++ b/etc/disable-common.inc
@@ -242,6 +242,7 @@ read-only ${HOME}/.ssh/authorized_keys
242 242
243# Initialization files that allow arbitrary command execution 243# Initialization files that allow arbitrary command execution
244read-only ${HOME}/.caffrc 244read-only ${HOME}/.caffrc
245read-only ${HOME}/.cargo/env
245read-only ${HOME}/.dotfiles 246read-only ${HOME}/.dotfiles
246read-only ${HOME}/.emacs 247read-only ${HOME}/.emacs
247read-only ${HOME}/.emacs.d 248read-only ${HOME}/.emacs.d
@@ -275,7 +276,6 @@ read-only ${HOME}/bin
275read-only ${HOME}/.bin 276read-only ${HOME}/.bin
276read-only ${HOME}/.local/bin 277read-only ${HOME}/.local/bin
277read-only ${HOME}/.cargo/bin 278read-only ${HOME}/.cargo/bin
278read-only ${HOME}/.cargo/env
279blacklist ${HOME}/.cargo/registry 279blacklist ${HOME}/.cargo/registry
280blacklist ${HOME}/.cargo/config 280blacklist ${HOME}/.cargo/config
281 281
@@ -414,3 +414,12 @@ blacklist /usr/share/flatpak
414blacklist /var/lib/flatpak 414blacklist /var/lib/flatpak
415# most of the time bwrap is SUID binary 415# most of the time bwrap is SUID binary
416blacklist ${PATH}/bwrap 416blacklist ${PATH}/bwrap
417
418# mail directories used by mutt
419blacklist ${HOME}/.Mail
420blacklist ${HOME}/.mail
421blacklist ${HOME}/.signature
422blacklist ${HOME}/Mail
423blacklist ${HOME}/mail
424blacklist ${HOME}/postponed
425blacklist ${HOME}/sent
diff --git a/etc/disable-interpreters.inc b/etc/disable-interpreters.inc
index 22f58bb85..4c4eed25d 100644
--- a/etc/disable-interpreters.inc
+++ b/etc/disable-interpreters.inc
@@ -19,6 +19,8 @@ blacklist ${HOME}/.nvm
19blacklist ${PATH}/cpan* 19blacklist ${PATH}/cpan*
20blacklist ${PATH}/core_perl 20blacklist ${PATH}/core_perl
21blacklist ${PATH}/perl 21blacklist ${PATH}/perl
22blacklist ${PATH}/site_perl
23blacklist ${PATH}/vendor_perl
22blacklist /usr/lib/perl* 24blacklist /usr/lib/perl*
23blacklist /usr/share/perl* 25blacklist /usr/share/perl*
24 26
diff --git a/etc/disable-programs.inc b/etc/disable-programs.inc
index aa1205549..b1e5a9e64 100644
--- a/etc/disable-programs.inc
+++ b/etc/disable-programs.inc
@@ -7,6 +7,7 @@ blacklist ${HOME}/Monero/wallets
7blacklist ${HOME}/Nextcloud/Notes 7blacklist ${HOME}/Nextcloud/Notes
8blacklist ${HOME}/SoftMaker 8blacklist ${HOME}/SoftMaker
9blacklist ${HOME}/Standard Notes Backups 9blacklist ${HOME}/Standard Notes Backups
10blacklist ${HOME}/mps
10blacklist ${HOME}/wallet.dat 11blacklist ${HOME}/wallet.dat
11blacklist ${HOME}/.*coin 12blacklist ${HOME}/.*coin
12blacklist ${HOME}/.8pecxstudios 13blacklist ${HOME}/.8pecxstudios
@@ -94,6 +95,7 @@ blacklist ${HOME}/.config/Nathan Osman
94blacklist ${HOME}/.config/Nylas Mail 95blacklist ${HOME}/.config/Nylas Mail
95blacklist ${HOME}/.config/PBE 96blacklist ${HOME}/.config/PBE
96blacklist ${HOME}/.config/Qlipper 97blacklist ${HOME}/.config/Qlipper
98blacklist ${HOME}/.config/QGIS
97blacklist ${HOME}/.config/QMediathekView 99blacklist ${HOME}/.config/QMediathekView
98blacklist ${HOME}/.config/QuiteRss 100blacklist ${HOME}/.config/QuiteRss
99blacklist ${HOME}/.config/QuiteRssrc 101blacklist ${HOME}/.config/QuiteRssrc
@@ -117,6 +119,7 @@ blacklist ${HOME}/.config/artha.conf
117blacklist ${HOME}/.config/asunder 119blacklist ${HOME}/.config/asunder
118blacklist ${HOME}/.config/atril 120blacklist ${HOME}/.config/atril
119blacklist ${HOME}/.config/audacious 121blacklist ${HOME}/.config/audacious
122blacklist ${HOME}/.config/autokey
120blacklist ${HOME}/.config/aweather 123blacklist ${HOME}/.config/aweather
121blacklist ${HOME}/.config/baloofilerc 124blacklist ${HOME}/.config/baloofilerc
122blacklist ${HOME}/.config/baloorc 125blacklist ${HOME}/.config/baloorc
@@ -139,6 +142,7 @@ blacklist ${HOME}/.config/clipit
139blacklist ${HOME}/.config/cliqz 142blacklist ${HOME}/.config/cliqz
140blacklist ${HOME}/.config/cmus 143blacklist ${HOME}/.config/cmus
141blacklist ${HOME}/.config/corebird 144blacklist ${HOME}/.config/corebird
145blacklist ${HOME}/.config/cower
142blacklist ${HOME}/.config/darktable 146blacklist ${HOME}/.config/darktable
143blacklist ${HOME}/.config/deadbeef 147blacklist ${HOME}/.config/deadbeef
144blacklist ${HOME}/.config/deluge 148blacklist ${HOME}/.config/deluge
@@ -196,6 +200,7 @@ blacklist ${HOME}/.config/katerc
196blacklist ${HOME}/.config/kateschemarc 200blacklist ${HOME}/.config/kateschemarc
197blacklist ${HOME}/.config/katesyntaxhighlightingrc 201blacklist ${HOME}/.config/katesyntaxhighlightingrc
198blacklist ${HOME}/.config/katevirc 202blacklist ${HOME}/.config/katevirc
203blacklist ${HOME}/.config/kdeconnect
199blacklist ${HOME}/.config/kdenliverc 204blacklist ${HOME}/.config/kdenliverc
200blacklist ${HOME}/.config/kgetrc 205blacklist ${HOME}/.config/kgetrc
201blacklist ${HOME}/.config/kid3rc 206blacklist ${HOME}/.config/kid3rc
@@ -203,12 +208,12 @@ blacklist ${HOME}/.config/klavaro
203blacklist ${HOME}/.config/klipperrc 208blacklist ${HOME}/.config/klipperrc
204blacklist ${HOME}/.config/kmail2rc 209blacklist ${HOME}/.config/kmail2rc
205blacklist ${HOME}/.config/kmailsearchindexingrc 210blacklist ${HOME}/.config/kmailsearchindexingrc
206blacklist ${HOME}/.config/kritarc
207blacklist ${HOME}/.config/kwriterc
208blacklist ${HOME}/.config/kdeconnect
209blacklist ${HOME}/.config/knotesrc 211blacklist ${HOME}/.config/knotesrc
210blacklist ${HOME}/.config/konversationrc 212blacklist ${HOME}/.config/konversationrc
213blacklist ${HOME}/.config/kritarc
211blacklist ${HOME}/.config/ktorrentrc 214blacklist ${HOME}/.config/ktorrentrc
215blacklist ${HOME}/.config/ktouch2rc
216blacklist ${HOME}/.config/kwriterc
212blacklist ${HOME}/.config/leafpad 217blacklist ${HOME}/.config/leafpad
213blacklist ${HOME}/.config/libreoffice 218blacklist ${HOME}/.config/libreoffice
214blacklist ${HOME}/.config/liferea 219blacklist ${HOME}/.config/liferea
@@ -265,6 +270,7 @@ blacklist ${HOME}/.config/redshift.conf
265blacklist ${HOME}/.config/remmina 270blacklist ${HOME}/.config/remmina
266blacklist ${HOME}/.config/ristretto 271blacklist ${HOME}/.config/ristretto
267blacklist ${HOME}/.config/scribus 272blacklist ${HOME}/.config/scribus
273blacklist ${HOME}/.config/scribusrc
268blacklist ${HOME}/.config/sinew.in 274blacklist ${HOME}/.config/sinew.in
269blacklist ${HOME}/.config/skypeforlinux 275blacklist ${HOME}/.config/skypeforlinux
270blacklist ${HOME}/.config/slimjet 276blacklist ${HOME}/.config/slimjet
@@ -273,17 +279,17 @@ blacklist ${HOME}/.config/smtube
273blacklist ${HOME}/.config/snox 279blacklist ${HOME}/.config/snox
274blacklist ${HOME}/.config/specialmailcollectionsrc 280blacklist ${HOME}/.config/specialmailcollectionsrc
275blacklist ${HOME}/.config/spotify 281blacklist ${HOME}/.config/spotify
276blacklist ${HOME}/.config/supertuxkart
277blacklist ${HOME}/.config/sqlitebrowser 282blacklist ${HOME}/.config/sqlitebrowser
278blacklist ${HOME}/.config/stellarium 283blacklist ${HOME}/.config/stellarium
284blacklist ${HOME}/.config/supertuxkart
279blacklist ${HOME}/.config/synfig 285blacklist ${HOME}/.config/synfig
280blacklist ${HOME}/.config/telepathy-account-widgets 286blacklist ${HOME}/.config/telepathy-account-widgets
281blacklist ${HOME}/.config/torbrowser 287blacklist ${HOME}/.config/torbrowser
282blacklist ${HOME}/.config/totem 288blacklist ${HOME}/.config/totem
283blacklist ${HOME}/.config/tox 289blacklist ${HOME}/.config/tox
284blacklist ${HOME}/.config/transgui 290blacklist ${HOME}/.config/transgui
285blacklist ${HOME}/.config/truecraft
286blacklist ${HOME}/.config/transmission 291blacklist ${HOME}/.config/transmission
292blacklist ${HOME}/.config/truecraft
287blacklist ${HOME}/.config/uGet 293blacklist ${HOME}/.config/uGet
288blacklist ${HOME}/.config/uzbl 294blacklist ${HOME}/.config/uzbl
289blacklist ${HOME}/.config/viewnior 295blacklist ${HOME}/.config/viewnior
@@ -307,6 +313,7 @@ blacklist ${HOME}/.config/xreader
307blacklist ${HOME}/.config/xviewer 313blacklist ${HOME}/.config/xviewer
308blacklist ${HOME}/.config/yandex-browser 314blacklist ${HOME}/.config/yandex-browser
309blacklist ${HOME}/.config/yandex-browser-beta 315blacklist ${HOME}/.config/yandex-browser-beta
316blacklist ${HOME}/.config/yelp
310blacklist ${HOME}/.config/zathura 317blacklist ${HOME}/.config/zathura
311blacklist ${HOME}/.config/zoomus.conf 318blacklist ${HOME}/.config/zoomus.conf
312blacklist ${HOME}/.conkeror.mozdev.org 319blacklist ${HOME}/.conkeror.mozdev.org
@@ -325,7 +332,6 @@ blacklist ${HOME}/.electron-cache
325blacklist ${HOME}/.electrum* 332blacklist ${HOME}/.electrum*
326blacklist ${HOME}/.elinks 333blacklist ${HOME}/.elinks
327blacklist ${HOME}/.emacs 334blacklist ${HOME}/.emacs
328blacklist ${HOME}/.emacs
329blacklist ${HOME}/.emacs.d 335blacklist ${HOME}/.emacs.d
330blacklist ${HOME}/.ethereum 336blacklist ${HOME}/.ethereum
331blacklist ${HOME}/.etr 337blacklist ${HOME}/.etr
@@ -367,10 +373,10 @@ blacklist ${HOME}/.kde/share/apps/kaffeine
367blacklist ${HOME}/.kde/share/apps/kcookiejar 373blacklist ${HOME}/.kde/share/apps/kcookiejar
368blacklist ${HOME}/.kde/share/apps/kget 374blacklist ${HOME}/.kde/share/apps/kget
369blacklist ${HOME}/.kde/share/apps/khtml 375blacklist ${HOME}/.kde/share/apps/khtml
376blacklist ${HOME}/.kde/share/apps/klatexformula
370blacklist ${HOME}/.kde/share/apps/konqsidebartng 377blacklist ${HOME}/.kde/share/apps/konqsidebartng
371blacklist ${HOME}/.kde/share/apps/konqueror 378blacklist ${HOME}/.kde/share/apps/konqueror
372blacklist ${HOME}/.kde/share/apps/kopete 379blacklist ${HOME}/.kde/share/apps/kopete
373blacklist ${HOME}/.kde/share/apps/khtml
374blacklist ${HOME}/.kde/share/apps/ktorrent 380blacklist ${HOME}/.kde/share/apps/ktorrent
375blacklist ${HOME}/.kde/share/apps/okular 381blacklist ${HOME}/.kde/share/apps/okular
376blacklist ${HOME}/.kde/share/config/baloofilerc 382blacklist ${HOME}/.kde/share/config/baloofilerc
@@ -423,10 +429,12 @@ blacklist ${HOME}/.kde4/share/config/okularrc
423blacklist ${HOME}/.killingfloor 429blacklist ${HOME}/.killingfloor
424blacklist ${HOME}/.kino-history 430blacklist ${HOME}/.kino-history
425blacklist ${HOME}/.kinorc 431blacklist ${HOME}/.kinorc
432blacklist ${HOME}/.klatexformula
426blacklist ${HOME}/.kodi 433blacklist ${HOME}/.kodi
427blacklist ${HOME}/.lincity-ng 434blacklist ${HOME}/.lincity-ng
428blacklist ${HOME}/.linphone-history.db 435blacklist ${HOME}/.linphone-history.db
429blacklist ${HOME}/.linphonerc 436blacklist ${HOME}/.linphonerc
437blacklist ${HOME}/.links
430blacklist ${HOME}/.lmmsrc.xml 438blacklist ${HOME}/.lmmsrc.xml
431blacklist ${HOME}/.local/lib/vivaldi 439blacklist ${HOME}/.local/lib/vivaldi
432blacklist ${HOME}/.local/share/0ad 440blacklist ${HOME}/.local/share/0ad
@@ -438,6 +446,7 @@ blacklist ${HOME}/.local/share/JetBrains
438blacklist ${HOME}/.local/share/Mendeley Ltd. 446blacklist ${HOME}/.local/share/Mendeley Ltd.
439blacklist ${HOME}/.local/share/Mumble 447blacklist ${HOME}/.local/share/Mumble
440blacklist ${HOME}/.local/share/PBE 448blacklist ${HOME}/.local/share/PBE
449blacklist ${HOME}/.local/share/QGIS
441blacklist ${HOME}/.local/share/QMediathekView 450blacklist ${HOME}/.local/share/QMediathekView
442blacklist ${HOME}/.local/share/QuiteRss 451blacklist ${HOME}/.local/share/QuiteRss
443blacklist ${HOME}/.local/share/Ricochet 452blacklist ${HOME}/.local/share/Ricochet
@@ -450,6 +459,7 @@ blacklist ${HOME}/.local/share/akonadi*
450blacklist ${HOME}/.local/share/akregator 459blacklist ${HOME}/.local/share/akregator
451blacklist ${HOME}/.local/share/apps/korganizer 460blacklist ${HOME}/.local/share/apps/korganizer
452blacklist ${HOME}/.local/share/aspyr-media 461blacklist ${HOME}/.local/share/aspyr-media
462blacklist ${HOME}/.local/share/autokey
453blacklist ${HOME}/.local/share/baloo 463blacklist ${HOME}/.local/share/baloo
454blacklist ${HOME}/.local/share/bibletime 464blacklist ${HOME}/.local/share/bibletime
455blacklist ${HOME}/.local/share/caja-python 465blacklist ${HOME}/.local/share/caja-python
@@ -492,8 +502,9 @@ blacklist ${HOME}/.local/share/klavaro
492blacklist ${HOME}/.local/share/kmail2 502blacklist ${HOME}/.local/share/kmail2
493blacklist ${HOME}/.local/share/knotes 503blacklist ${HOME}/.local/share/knotes
494blacklist ${HOME}/.local/share/krita 504blacklist ${HOME}/.local/share/krita
495blacklist ${HOME}/.local/share/ktorrentrc
496blacklist ${HOME}/.local/share/ktorrent 505blacklist ${HOME}/.local/share/ktorrent
506blacklist ${HOME}/.local/share/ktorrentrc
507blacklist ${HOME}/.local/share/ktouch
497blacklist ${HOME}/.local/share/kwrite 508blacklist ${HOME}/.local/share/kwrite
498blacklist ${HOME}/.local/share/liferea 509blacklist ${HOME}/.local/share/liferea
499blacklist ${HOME}/.local/share/local-mail 510blacklist ${HOME}/.local/share/local-mail
@@ -517,13 +528,13 @@ blacklist ${HOME}/.local/share/ocenaudio
517blacklist ${HOME}/.local/share/okular 528blacklist ${HOME}/.local/share/okular
518blacklist ${HOME}/.local/share/orage 529blacklist ${HOME}/.local/share/orage
519blacklist ${HOME}/.local/share/org.kde.gwenview 530blacklist ${HOME}/.local/share/org.kde.gwenview
520blacklist ${HOME}/.local/share/rhythmbox
521blacklist ${HOME}/.local/share/pix 531blacklist ${HOME}/.local/share/pix
522blacklist ${HOME}/.local/share/plasma_notes 532blacklist ${HOME}/.local/share/plasma_notes
523blacklist ${HOME}/.local/share/psi+ 533blacklist ${HOME}/.local/share/psi+
524blacklist ${HOME}/.local/share/qpdfview 534blacklist ${HOME}/.local/share/qpdfview
525blacklist ${HOME}/.local/share/qutebrowser 535blacklist ${HOME}/.local/share/qutebrowser
526blacklist ${HOME}/.local/share/remmina 536blacklist ${HOME}/.local/share/remmina
537blacklist ${HOME}/.local/share/rhythmbox
527blacklist ${HOME}/.local/share/scribus 538blacklist ${HOME}/.local/share/scribus
528blacklist ${HOME}/.local/share/spotify 539blacklist ${HOME}/.local/share/spotify
529blacklist ${HOME}/.local/share/steam 540blacklist ${HOME}/.local/share/steam
@@ -576,6 +587,7 @@ blacklist ${HOME}/.pingus
576blacklist ${HOME}/.pioneer 587blacklist ${HOME}/.pioneer
577blacklist ${HOME}/.purple 588blacklist ${HOME}/.purple
578blacklist ${HOME}/.qemu-launcher 589blacklist ${HOME}/.qemu-launcher
590blacklist ${HOME}/.qgis2
579blacklist ${HOME}/.qmmp 591blacklist ${HOME}/.qmmp
580blacklist ${HOME}/.quodlibet 592blacklist ${HOME}/.quodlibet
581blacklist ${HOME}/.redeclipse 593blacklist ${HOME}/.redeclipse
@@ -624,8 +636,8 @@ blacklist ${HOME}/.wget-hsts
624blacklist ${HOME}/.wgetrc 636blacklist ${HOME}/.wgetrc
625blacklist ${HOME}/.widelands 637blacklist ${HOME}/.widelands
626blacklist ${HOME}/.wine 638blacklist ${HOME}/.wine
627blacklist ${HOME}/.wireshark
628blacklist ${HOME}/.wine64 639blacklist ${HOME}/.wine64
640blacklist ${HOME}/.wireshark
629blacklist ${HOME}/.xiphos 641blacklist ${HOME}/.xiphos
630blacklist ${HOME}/.xmind 642blacklist ${HOME}/.xmind
631blacklist ${HOME}/.xmms 643blacklist ${HOME}/.xmms
diff --git a/etc/display.profile b/etc/display.profile
index 0bab32db1..0b9d685e8 100644
--- a/etc/display.profile
+++ b/etc/display.profile
@@ -8,12 +8,8 @@ include globals.local
8noblacklist ${PICTURES} 8noblacklist ${PICTURES}
9 9
10# Allow python (blacklisted by disable-interpreters.inc) 10# Allow python (blacklisted by disable-interpreters.inc)
11noblacklist ${PATH}/python2* 11include allow-python2.inc
12noblacklist ${PATH}/python3* 12include allow-python3.inc
13noblacklist /usr/lib/python2*
14noblacklist /usr/lib/python3*
15noblacklist /usr/local/lib/python2*
16noblacklist /usr/local/lib/python3*
17 13
18include disable-common.inc 14include disable-common.inc
19include disable-devel.inc 15include disable-devel.inc
diff --git a/etc/dnscrypt-proxy.profile b/etc/dnscrypt-proxy.profile
index 0dc0cc793..ffced747b 100644
--- a/etc/dnscrypt-proxy.profile
+++ b/etc/dnscrypt-proxy.profile
@@ -6,11 +6,11 @@ include dnscrypt-proxy.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9blacklist /tmp/.X11-unix
10
11noblacklist /sbin 9noblacklist /sbin
12noblacklist /usr/sbin 10noblacklist /usr/sbin
13 11
12blacklist /tmp/.X11-unix
13
14include disable-common.inc 14include disable-common.inc
15include disable-devel.inc 15include disable-devel.inc
16include disable-interpreters.inc 16include disable-interpreters.inc
diff --git a/etc/dnsmasq.profile b/etc/dnsmasq.profile
index bb41b71d1..daf4795c3 100644
--- a/etc/dnsmasq.profile
+++ b/etc/dnsmasq.profile
@@ -6,11 +6,11 @@ include dnsmasq.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9blacklist /tmp/.X11-unix
10
11noblacklist /sbin 9noblacklist /sbin
12noblacklist /usr/sbin 10noblacklist /usr/sbin
13 11
12blacklist /tmp/.X11-unix
13
14include disable-common.inc 14include disable-common.inc
15include disable-devel.inc 15include disable-devel.inc
16include disable-interpreters.inc 16include disable-interpreters.inc
diff --git a/etc/dooble.profile b/etc/dooble.profile
index 80bcce463..bc197b223 100644
--- a/etc/dooble.profile
+++ b/etc/dooble.profile
@@ -1,11 +1,12 @@
1# Firejail profile for dooble 1# Firejail profile for dooble
2# This file is overwritten after every install/update 2# This file is overwritten after every install/update
3# Persistent local customizations 3# Persistent local customizations
4include dooble.local
5# Backward compatibility
4include dooble-qt4.local 6include dooble-qt4.local
5# Persistent global definitions 7# Persistent global definitions
6include globals.local 8include globals.local
7 9
8
9noblacklist ${HOME}/.dooble 10noblacklist ${HOME}/.dooble
10 11
11include disable-common.inc 12include disable-common.inc
diff --git a/etc/electrum.profile b/etc/electrum.profile
index ffa0fb5f6..ab554b21f 100644
--- a/etc/electrum.profile
+++ b/etc/electrum.profile
@@ -9,12 +9,8 @@ include globals.local
9noblacklist ${HOME}/.electrum 9noblacklist ${HOME}/.electrum
10 10
11# Allow python (blacklisted by disable-interpreters.inc) 11# Allow python (blacklisted by disable-interpreters.inc)
12noblacklist ${PATH}/python2* 12include allow-python2.inc
13noblacklist ${PATH}/python3* 13include allow-python3.inc
14noblacklist /usr/lib/python2*
15noblacklist /usr/lib/python3*
16noblacklist /usr/local/lib/python2*
17noblacklist /usr/local/lib/python3*
18 14
19include disable-common.inc 15include disable-common.inc
20include disable-devel.inc 16include disable-devel.inc
diff --git a/etc/elinks.profile b/etc/elinks.profile
index 842a0db04..980fa7617 100644
--- a/etc/elinks.profile
+++ b/etc/elinks.profile
@@ -6,10 +6,10 @@ include elinks.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9blacklist /tmp/.X11-unix
10
11noblacklist ${HOME}/.elinks 9noblacklist ${HOME}/.elinks
12 10
11blacklist /tmp/.X11-unix
12
13include disable-common.inc 13include disable-common.inc
14include disable-devel.inc 14include disable-devel.inc
15include disable-interpreters.inc 15include disable-interpreters.inc
diff --git a/etc/enpass.profile b/etc/enpass.profile
index b337c721d..4ac35bbd6 100644
--- a/etc/enpass.profile
+++ b/etc/enpass.profile
@@ -20,12 +20,16 @@ include disable-passwdmgr.inc
20include disable-programs.inc 20include disable-programs.inc
21include disable-xdg.inc 21include disable-xdg.inc
22 22
23mkdir ${HOME}/.cache/Enpass
24mkfile ${HOME}/.config/sinew.in
25mkdir ${HOME}/.config/Sinew Software Systems
26mkdir ${HOME}/.local/share/Enpass
23whitelist ${HOME}/.cache/Enpass 27whitelist ${HOME}/.cache/Enpass
24whitelist ${HOME}/.config/sinew.in 28whitelist ${HOME}/.config/sinew.in
25whitelist ${HOME}/.config/Sinew Software Systems 29whitelist ${HOME}/.config/Sinew Software Systems
26whitelist ${HOME}/.local/share/Enpass 30whitelist ${HOME}/.local/share/Enpass
27whitelist ${DOCUMENTS} 31whitelist ${DOCUMENTS}
28 32include whitelist-common.inc
29include whitelist-var-common.inc 33include whitelist-var-common.inc
30 34
31# machine-id and nosound break audio notification functionality 35# machine-id and nosound break audio notification functionality
diff --git a/etc/exfalso.profile b/etc/exfalso.profile
index 6146a8952..978629452 100644
--- a/etc/exfalso.profile
+++ b/etc/exfalso.profile
@@ -10,12 +10,8 @@ noblacklist ${HOME}/.quodlibet
10noblacklist ${MUSIC} 10noblacklist ${MUSIC}
11 11
12# Allow python (blacklisted by disable-interpreters.inc) 12# Allow python (blacklisted by disable-interpreters.inc)
13noblacklist ${PATH}/python2* 13include allow-python2.inc
14noblacklist ${PATH}/python3* 14include allow-python3.inc
15noblacklist /usr/lib/python2*
16noblacklist /usr/lib/python3*
17noblacklist /usr/local/lib/python2*
18noblacklist /usr/local/lib/python3*
19 15
20include disable-common.inc 16include disable-common.inc
21include disable-devel.inc 17include disable-devel.inc
diff --git a/etc/exiftool.profile b/etc/exiftool.profile
index 2ee4aae6f..52e090b89 100644
--- a/etc/exiftool.profile
+++ b/etc/exiftool.profile
@@ -6,12 +6,10 @@ include exiftool.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9blacklist /tmp/.X11-unix 9# Allow perl (blacklisted by disable-interpreters.inc)
10include allow-perl.inc
10 11
11# Allow access to perl 12blacklist /tmp/.X11-unix
12noblacklist ${PATH}/perl
13noblacklist /usr/lib/perl*
14noblacklist /usr/share/perl*
15 13
16include disable-common.inc 14include disable-common.inc
17include disable-devel.inc 15include disable-devel.inc
@@ -41,7 +39,7 @@ shell none
41tracelog 39tracelog
42 40
43# To support exiftool in private-bin on Arch Linux (and derivatives), symlink /usr/bin/vendor_perl/exiftool to /usr/bin/exiftool and uncomment the below. 41# To support exiftool in private-bin on Arch Linux (and derivatives), symlink /usr/bin/vendor_perl/exiftool to /usr/bin/exiftool and uncomment the below.
44# Users on non-Arch Linux distributions can safely uncomment the below to enable extra hardening. 42# Users on non-Arch Linux distributions can safely uncomment (or put in exiftool.local) the line below to enable extra hardening.
45#private-bin exiftool,perl 43#private-bin exiftool,perl
46private-cache 44private-cache
47private-dev 45private-dev
diff --git a/etc/falkon.profile b/etc/falkon.profile
index af6aaa1a7..cabf5aeba 100644
--- a/etc/falkon.profile
+++ b/etc/falkon.profile
@@ -16,6 +16,8 @@ include disable-interpreters.inc
16include disable-passwdmgr.inc 16include disable-passwdmgr.inc
17include disable-programs.inc 17include disable-programs.inc
18 18
19mkdir ${HOME}/.cache/falkon
20mkdir ${HOME}/.config/falkon
19whitelist ${DOWNLOADS} 21whitelist ${DOWNLOADS}
20whitelist ${HOME}/.cache/falkon 22whitelist ${HOME}/.cache/falkon
21whitelist ${HOME}/.config/falkon 23whitelist ${HOME}/.config/falkon
diff --git a/etc/filezilla.profile b/etc/filezilla.profile
index d1bebafb5..af535880d 100644
--- a/etc/filezilla.profile
+++ b/etc/filezilla.profile
@@ -10,12 +10,8 @@ noblacklist ${HOME}/.config/filezilla
10noblacklist ${HOME}/.filezilla 10noblacklist ${HOME}/.filezilla
11 11
12# Allow python (blacklisted by disable-interpreters.inc) 12# Allow python (blacklisted by disable-interpreters.inc)
13noblacklist ${PATH}/python2* 13include allow-python2.inc
14noblacklist ${PATH}/python3* 14include allow-python3.inc
15noblacklist /usr/lib/python2*
16noblacklist /usr/lib/python3*
17noblacklist /usr/local/lib/python2*
18noblacklist /usr/local/lib/python3*
19 15
20include disable-common.inc 16include disable-common.inc
21include disable-devel.inc 17include disable-devel.inc
diff --git a/etc/firefox-common-addons.inc b/etc/firefox-common-addons.inc
index 7a0c3e99f..7d9e512b2 100644
--- a/etc/firefox-common-addons.inc
+++ b/etc/firefox-common-addons.inc
@@ -56,8 +56,7 @@ whitelist ${HOME}/dwhelper
56noblacklist ${HOME}/.local/share/gnome-shell 56noblacklist ${HOME}/.local/share/gnome-shell
57whitelist ${HOME}/.local/share/gnome-shell 57whitelist ${HOME}/.local/share/gnome-shell
58ignore nodbus 58ignore nodbus
59noblacklist ${PATH}/python3* 59include allow-python3.inc
60noblacklist /usr/lib/python3*
61 60
62# Flash plugin 61# Flash plugin
63# private-etc must first be enabled in firefox-common.profile and in profiles including it. 62# private-etc must first be enabled in firefox-common.profile and in profiles including it.
diff --git a/etc/firefox-common.profile b/etc/firefox-common.profile
index 080d9e81a..bccbb3412 100644
--- a/etc/firefox-common.profile
+++ b/etc/firefox-common.profile
@@ -9,7 +9,7 @@ include firefox-common.local
9# noexec ${HOME} breaks DRM binaries. 9# noexec ${HOME} breaks DRM binaries.
10?BROWSER_ALLOW_DRM: ignore noexec ${HOME} 10?BROWSER_ALLOW_DRM: ignore noexec ${HOME}
11 11
12# Uncomment the following line to allow access to common programs/addons/plugins. 12# Uncomment the following line (or put it in your firefox-common.local) to allow access to common programs/addons/plugins.
13#include firefox-common-addons.inc 13#include firefox-common-addons.inc
14 14
15noblacklist ${HOME}/.pki 15noblacklist ${HOME}/.pki
diff --git a/etc/firejail.config b/etc/firejail.config
index 497d9633e..92df8ad1a 100644
--- a/etc/firejail.config
+++ b/etc/firejail.config
@@ -32,7 +32,7 @@
32 32
33# Disable /mnt, /media, /run/mount and /run/media access. By default access 33# Disable /mnt, /media, /run/mount and /run/media access. By default access
34# to these directories is enabled. Unlike --disable-mnt profile option this 34# to these directories is enabled. Unlike --disable-mnt profile option this
35# cannot be overridden by --noblacklist. 35# cannot be overridden by --noblacklist or --ignore.
36# disable-mnt no 36# disable-mnt no
37 37
38# Enable or disable file transfer support, default enabled. 38# Enable or disable file transfer support, default enabled.
diff --git a/etc/flowblade.profile b/etc/flowblade.profile
index 1e84d4ca6..40472ab93 100644
--- a/etc/flowblade.profile
+++ b/etc/flowblade.profile
@@ -10,12 +10,8 @@ noblacklist ${HOME}/.config/flowblade
10noblacklist ${HOME}/.flowblade 10noblacklist ${HOME}/.flowblade
11 11
12# Allow python (blacklisted by disable-interpreters.inc) 12# Allow python (blacklisted by disable-interpreters.inc)
13noblacklist ${PATH}/python2* 13include allow-python2.inc
14noblacklist ${PATH}/python3* 14include allow-python3.inc
15noblacklist /usr/lib/python2*
16noblacklist /usr/lib/python3*
17noblacklist /usr/local/lib/python2*
18noblacklist /usr/local/lib/python3*
19 15
20include disable-common.inc 16include disable-common.inc
21include disable-devel.inc 17include disable-devel.inc
diff --git a/etc/font-manager.profile b/etc/font-manager.profile
index 98952e1cc..a1280124a 100644
--- a/etc/font-manager.profile
+++ b/etc/font-manager.profile
@@ -10,12 +10,8 @@ noblacklist ${HOME}/.cache/font-manager
10noblacklist ${HOME}/.config/font-manager 10noblacklist ${HOME}/.config/font-manager
11 11
12# Allow python (blacklisted by disable-interpreters.inc) 12# Allow python (blacklisted by disable-interpreters.inc)
13noblacklist ${PATH}/python2* 13include allow-python2.inc
14noblacklist ${PATH}/python3* 14include allow-python3.inc
15noblacklist /usr/lib/python2*
16noblacklist /usr/lib/python3*
17noblacklist /usr/local/lib/python2*
18noblacklist /usr/local/lib/python3*
19 15
20include disable-common.inc 16include disable-common.inc
21include disable-devel.inc 17include disable-devel.inc
diff --git a/etc/fontforge.profile b/etc/fontforge.profile
index f98ad9983..6d305e2af 100644
--- a/etc/fontforge.profile
+++ b/etc/fontforge.profile
@@ -10,12 +10,8 @@ noblacklist ${HOME}/.FontForge
10noblacklist ${DOCUMENTS} 10noblacklist ${DOCUMENTS}
11 11
12# Allow python (blacklisted by disable-interpreters.inc) 12# Allow python (blacklisted by disable-interpreters.inc)
13noblacklist ${PATH}/python2* 13include allow-python2.inc
14noblacklist ${PATH}/python3* 14include allow-python3.inc
15noblacklist /usr/lib/python2*
16noblacklist /usr/lib/python3*
17noblacklist /usr/local/lib/python2*
18noblacklist /usr/local/lib/python3*
19 15
20include disable-common.inc 16include disable-common.inc
21include disable-devel.inc 17include disable-devel.inc
diff --git a/etc/franz.profile b/etc/franz.profile
index d6445ff8e..e917e5517 100644
--- a/etc/franz.profile
+++ b/etc/franz.profile
@@ -5,6 +5,8 @@ include franz.local
5# Persistent global definitions 5# Persistent global definitions
6include globals.local 6include globals.local
7 7
8ignore noexec /tmp
9
8noblacklist ${HOME}/.cache/Franz 10noblacklist ${HOME}/.cache/Franz
9noblacklist ${HOME}/.config/Franz 11noblacklist ${HOME}/.config/Franz
10noblacklist ${HOME}/.pki 12noblacklist ${HOME}/.pki
@@ -12,6 +14,7 @@ noblacklist ${HOME}/.local/share/pki
12 14
13include disable-common.inc 15include disable-common.inc
14include disable-devel.inc 16include disable-devel.inc
17include disable-exec.inc
15include disable-interpreters.inc 18include disable-interpreters.inc
16include disable-programs.inc 19include disable-programs.inc
17 20
@@ -41,5 +44,3 @@ shell none
41disable-mnt 44disable-mnt
42private-dev 45private-dev
43private-tmp 46private-tmp
44
45noexec ${HOME}
diff --git a/etc/freecol.profile b/etc/freecol.profile
index 7987cc076..2d2853c9c 100644
--- a/etc/freecol.profile
+++ b/etc/freecol.profile
@@ -12,11 +12,8 @@ noblacklist ${HOME}/.cache/freecol
12noblacklist ${HOME}/.config/freecol 12noblacklist ${HOME}/.config/freecol
13noblacklist ${HOME}/.local/share/freecol 13noblacklist ${HOME}/.local/share/freecol
14 14
15# Allow access to java 15# Allow java (blacklisted by disable-devel.inc)
16noblacklist ${PATH}/java 16include allow-java.inc
17noblacklist /usr/lib/java
18noblacklist /etc/java
19noblacklist /usr/share/java
20 17
21include disable-common.inc 18include disable-common.inc
22include disable-devel.inc 19include disable-devel.inc
diff --git a/etc/freemind.profile b/etc/freemind.profile
index 507bd564d..7ab4ae129 100644
--- a/etc/freemind.profile
+++ b/etc/freemind.profile
@@ -7,12 +7,11 @@ include freemind.local
7include globals.local 7include globals.local
8 8
9noblacklist ${DOCUMENTS} 9noblacklist ${DOCUMENTS}
10noblacklist ${PATH}/java
11noblacklist /etc/java
12noblacklist /usr/lib/java
13noblacklist /usr/share/java
14noblacklist ${HOME}/.freemind 10noblacklist ${HOME}/.freemind
15 11
12# Allow java (blacklisted by disable-devel.inc)
13include allow-java.inc
14
16include disable-common.inc 15include disable-common.inc
17include disable-devel.inc 16include disable-devel.inc
18include disable-exec.inc 17include disable-exec.inc
diff --git a/etc/frozen-bubble.profile b/etc/frozen-bubble.profile
index 6de61840c..9596bc610 100644
--- a/etc/frozen-bubble.profile
+++ b/etc/frozen-bubble.profile
@@ -9,11 +9,7 @@ include globals.local
9noblacklist ${HOME}/.frozen-bubble 9noblacklist ${HOME}/.frozen-bubble
10 10
11# Allow perl (blacklisted by disable-interpreters.inc) 11# Allow perl (blacklisted by disable-interpreters.inc)
12noblacklist ${PATH}/cpan* 12include allow-perl.inc
13noblacklist ${PATH}/core_perl
14noblacklist ${PATH}/perl
15noblacklist /usr/lib/perl*
16noblacklist /usr/share/perl*
17 13
18include disable-common.inc 14include disable-common.inc
19include disable-devel.inc 15include disable-devel.inc
diff --git a/etc/gajim.profile b/etc/gajim.profile
index 238b4fca9..75d2f0774 100644
--- a/etc/gajim.profile
+++ b/etc/gajim.profile
@@ -11,12 +11,8 @@ noblacklist ${HOME}/.config/gajim
11noblacklist ${HOME}/.local/share/gajim 11noblacklist ${HOME}/.local/share/gajim
12 12
13# Allow python (blacklisted by disable-interpreters.inc) 13# Allow python (blacklisted by disable-interpreters.inc)
14#noblacklist ${PATH}/python2* 14#include allow-python2.inc
15noblacklist ${PATH}/python3* 15include allow-python3.inc
16#noblacklist /usr/lib/python2*
17noblacklist /usr/lib/python3*
18#noblacklist /usr/local/lib/python2*
19noblacklist /usr/local/lib/python3*
20 16
21include disable-common.inc 17include disable-common.inc
22include disable-devel.inc 18include disable-devel.inc
diff --git a/etc/gconf.profile b/etc/gconf.profile
index 5cc6b87a0..a795afa17 100644
--- a/etc/gconf.profile
+++ b/etc/gconf.profile
@@ -9,12 +9,8 @@ include globals.local
9noblacklist ${HOME}/.config/gconf 9noblacklist ${HOME}/.config/gconf
10 10
11# Allow python (blacklisted by disable-interpreters.inc) 11# Allow python (blacklisted by disable-interpreters.inc)
12noblacklist ${PATH}/python2* 12include allow-python2.inc
13#noblacklist ${PATH}/python3* 13#include allow-python3.inc
14noblacklist /usr/lib/python2*
15#noblacklist /usr/lib/python3*
16noblacklist /usr/local/lib/python2*
17#noblacklist /usr/local/lib/python3*
18 14
19include disable-common.inc 15include disable-common.inc
20include disable-devel.inc 16include disable-devel.inc
diff --git a/etc/geary.profile b/etc/geary.profile
index a21eed9f1..a446c81d0 100644
--- a/etc/geary.profile
+++ b/etc/geary.profile
@@ -4,27 +4,25 @@
4# Persistent local customizations 4# Persistent local customizations
5include geary.local 5include geary.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7# added by included profile
8#include globals.local
8 9
9# Users have Geary set to open a browser by clicking a link in an email 10# Users have Geary set to open a browser by clicking a link in an email
10# We are not allowed to blacklist browser-specific directories 11# We are not allowed to blacklist browser-specific directories
11 12
13ignore nodbus
14ignore private-tmp
15
12noblacklist ${HOME}/.gnupg 16noblacklist ${HOME}/.gnupg
13noblacklist ${HOME}/.local/share/geary 17noblacklist ${HOME}/.local/share/geary
14 18
15mkdir ${HOME}/.gnupg 19mkdir ${HOME}/.gnupg
16mkdir ${HOME}/.config/geary 20mkdir ${HOME}/.config/geary
17mkdir ${HOME}/.local/share/geary 21mkdir ${HOME}/.local/share/geary
18
19whitelist ${HOME}/.gnupg 22whitelist ${HOME}/.gnupg
20whitelist ${HOME}/.config/geary 23whitelist ${HOME}/.config/geary
21whitelist ${HOME}/.local/share/geary 24whitelist ${HOME}/.local/share/geary
22 25
23include whitelist-common.inc
24
25ignore nodbus
26ignore private-tmp
27
28read-only ${HOME}/.config/mimeapps.list 26read-only ${HOME}/.config/mimeapps.list
29 27
30# allow browsers 28# allow browsers
diff --git a/etc/gimp.profile b/etc/gimp.profile
index 91001cd30..762e743c8 100644
--- a/etc/gimp.profile
+++ b/etc/gimp.profile
@@ -7,7 +7,8 @@ include gimp.local
7include globals.local 7include globals.local
8 8
9# gimp plugins are installed by the user in ${HOME}/.gimp-2.8/plug-ins/ directory 9# gimp plugins are installed by the user in ${HOME}/.gimp-2.8/plug-ins/ directory
10# if you are not using external plugins, you can disable ignore noexec statement below 10# if you are not using external plugins, you can comment 'ignore noexec' statement below
11# or put 'ignore ignore noexec ${HOME}' in your gimp.local
11ignore noexec ${HOME} 12ignore noexec ${HOME}
12 13
13noblacklist ${HOME}/.config/GIMP 14noblacklist ${HOME}/.config/GIMP
diff --git a/etc/git.profile b/etc/git.profile
index 0eb69faed..f7c812e65 100644
--- a/etc/git.profile
+++ b/etc/git.profile
@@ -7,8 +7,6 @@ include git.local
7# Persistent global definitions 7# Persistent global definitions
8include globals.local 8include globals.local
9 9
10blacklist /tmp/.X11-unix
11
12noblacklist ${HOME}/.config/git 10noblacklist ${HOME}/.config/git
13noblacklist ${HOME}/.config/nano 11noblacklist ${HOME}/.config/nano
14noblacklist ${HOME}/.emacs 12noblacklist ${HOME}/.emacs
@@ -22,6 +20,8 @@ noblacklist ${HOME}/.ssh
22noblacklist ${HOME}/.vim 20noblacklist ${HOME}/.vim
23noblacklist ${HOME}/.viminfo 21noblacklist ${HOME}/.viminfo
24 22
23blacklist /tmp/.X11-unix
24
25include disable-common.inc 25include disable-common.inc
26include disable-exec.inc 26include disable-exec.inc
27include disable-passwdmgr.inc 27include disable-passwdmgr.inc
diff --git a/etc/gnome-chess.profile b/etc/gnome-chess.profile
index 2f4626891..04409a5e4 100644
--- a/etc/gnome-chess.profile
+++ b/etc/gnome-chess.profile
@@ -18,7 +18,10 @@ include disable-xdg.inc
18 18
19include whitelist-var-common.inc 19include whitelist-var-common.inc
20 20
21apparmor
21caps.drop all 22caps.drop all
23machine-id
24net none
22no3d 25no3d
23nodvd 26nodvd
24nogroups 27nogroups
@@ -35,6 +38,7 @@ tracelog
35 38
36disable-mnt 39disable-mnt
37private-bin fairymax,gnome-chess,hoichess,gnuchess 40private-bin fairymax,gnome-chess,hoichess,gnuchess
41private-cache
38private-dev 42private-dev
39private-etc alternatives,fonts,gnome-chess 43private-etc alternatives,dconf,fonts,gnome-chess,gtk-3.0
40private-tmp 44private-tmp
diff --git a/etc/gnome-music.profile b/etc/gnome-music.profile
index 6bebeb526..f843452c9 100644
--- a/etc/gnome-music.profile
+++ b/etc/gnome-music.profile
@@ -10,12 +10,8 @@ noblacklist ${HOME}/.local/share/gnome-music
10noblacklist ${MUSIC} 10noblacklist ${MUSIC}
11 11
12# Allow python (blacklisted by disable-interpreters.inc) 12# Allow python (blacklisted by disable-interpreters.inc)
13noblacklist ${PATH}/python2* 13include allow-python2.inc
14noblacklist ${PATH}/python3* 14include allow-python3.inc
15noblacklist /usr/lib/python2*
16noblacklist /usr/lib/python3*
17noblacklist /usr/local/lib/python2*
18noblacklist /usr/local/lib/python3*
19 15
20include disable-common.inc 16include disable-common.inc
21include disable-devel.inc 17include disable-devel.inc
diff --git a/etc/gnome-schedule.profile b/etc/gnome-schedule.profile
index 931efbbab..08256f3a5 100644
--- a/etc/gnome-schedule.profile
+++ b/etc/gnome-schedule.profile
@@ -36,12 +36,8 @@ noblacklist ${PATH}/xfce4-terminal
36noblacklist ${PATH}/xfce4-terminal.wrapper 36noblacklist ${PATH}/xfce4-terminal.wrapper
37 37
38# Allow python (blacklisted by disable-interpreters.inc) 38# Allow python (blacklisted by disable-interpreters.inc)
39noblacklist ${PATH}/python2* 39include allow-python2.inc
40noblacklist ${PATH}/python3* 40include allow-python3.inc
41noblacklist /usr/lib/python2*
42noblacklist /usr/lib/python3*
43noblacklist /usr/local/lib/python2*
44noblacklist /usr/local/lib/python3*
45 41
46include disable-common.inc 42include disable-common.inc
47include disable-devel.inc 43include disable-devel.inc
diff --git a/etc/google-play-music-desktop-player.profile b/etc/google-play-music-desktop-player.profile
index 4932c9e42..daa385234 100644
--- a/etc/google-play-music-desktop-player.profile
+++ b/etc/google-play-music-desktop-player.profile
@@ -5,14 +5,19 @@ include google-play-music-desktop-player.local
5# Persistent global definitions 5# Persistent global definitions
6include globals.local 6include globals.local
7 7
8# noexec /tmp breaks mpris support
9ignore noexec /tmp
10
8noblacklist ${HOME}/.config/Google Play Music Desktop Player 11noblacklist ${HOME}/.config/Google Play Music Desktop Player
9 12
10include disable-common.inc 13include disable-common.inc
11include disable-devel.inc 14include disable-devel.inc
15include disable-exec.inc
12include disable-interpreters.inc 16include disable-interpreters.inc
13include disable-passwdmgr.inc 17include disable-passwdmgr.inc
14include disable-programs.inc 18include disable-programs.inc
15 19
20mkdir ${HOME}/.config/Google Play Music Desktop Player
16# whitelist ${HOME}/.config/pulse 21# whitelist ${HOME}/.config/pulse
17# whitelist ${HOME}/.pulse 22# whitelist ${HOME}/.pulse
18whitelist ${HOME}/.config/Google Play Music Desktop Player 23whitelist ${HOME}/.config/Google Play Music Desktop Player
@@ -35,7 +40,3 @@ shell none
35disable-mnt 40disable-mnt
36private-dev 41private-dev
37private-tmp 42private-tmp
38
39noexec ${HOME}
40# noexec /tmp breaks mpris support
41#noexec /tmp
diff --git a/etc/gpg-agent.profile b/etc/gpg-agent.profile
index 7181837d5..61b485df5 100644
--- a/etc/gpg-agent.profile
+++ b/etc/gpg-agent.profile
@@ -6,10 +6,10 @@ include gpg-agent.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9blacklist /tmp/.X11-unix
10
11noblacklist ${HOME}/.gnupg 9noblacklist ${HOME}/.gnupg
12 10
11blacklist /tmp/.X11-unix
12
13include disable-common.inc 13include disable-common.inc
14include disable-devel.inc 14include disable-devel.inc
15include disable-interpreters.inc 15include disable-interpreters.inc
diff --git a/etc/gpg.profile b/etc/gpg.profile
index 47e6e5265..99ad1b888 100644
--- a/etc/gpg.profile
+++ b/etc/gpg.profile
@@ -6,10 +6,10 @@ include gpg.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9blacklist /tmp/.X11-unix
10
11noblacklist ${HOME}/.gnupg 9noblacklist ${HOME}/.gnupg
12 10
11blacklist /tmp/.X11-unix
12
13include disable-common.inc 13include disable-common.inc
14include disable-devel.inc 14include disable-devel.inc
15include disable-interpreters.inc 15include disable-interpreters.inc
@@ -29,8 +29,7 @@ nou2f
29novideo 29novideo
30protocol unix,inet,inet6 30protocol unix,inet,inet6
31seccomp 31seccomp
32# Causes gpg to hang 32shell none
33#shell none
34tracelog 33tracelog
35 34
36# private-bin gpg,gpg-agent 35# private-bin gpg,gpg-agent
diff --git a/etc/gpredict.profile b/etc/gpredict.profile
index be3742fe3..e6d37ee27 100644
--- a/etc/gpredict.profile
+++ b/etc/gpredict.profile
@@ -15,6 +15,7 @@ include disable-interpreters.inc
15include disable-passwdmgr.inc 15include disable-passwdmgr.inc
16include disable-programs.inc 16include disable-programs.inc
17 17
18mkdir ${HOME}/.config/Gpredict
18whitelist ${HOME}/.config/Gpredict 19whitelist ${HOME}/.config/Gpredict
19include whitelist-common.inc 20include whitelist-common.inc
20 21
diff --git a/etc/gramps.profile b/etc/gramps.profile
index 764c14b60..54b154964 100644
--- a/etc/gramps.profile
+++ b/etc/gramps.profile
@@ -9,12 +9,8 @@ include globals.local
9noblacklist ${HOME}/.gramps 9noblacklist ${HOME}/.gramps
10 10
11# Allow python (blacklisted by disable-interpreters.inc) 11# Allow python (blacklisted by disable-interpreters.inc)
12#noblacklist ${PATH}/python2* 12#include allow-python2.inc
13noblacklist ${PATH}/python3* 13include allow-python3.inc
14#noblacklist /usr/lib/python2*
15noblacklist /usr/lib/python3*
16#noblacklist /usr/local/lib/python2*
17noblacklist /usr/local/lib/python3*
18 14
19include disable-common.inc 15include disable-common.inc
20include disable-devel.inc 16include disable-devel.inc
diff --git a/etc/gzip.profile b/etc/gzip.profile
index 27e262f87..810684eae 100644
--- a/etc/gzip.profile
+++ b/etc/gzip.profile
@@ -9,12 +9,15 @@ include globals.local
9 9
10blacklist /tmp/.X11-unix 10blacklist /tmp/.X11-unix
11 11
12include disable-common.inc
13include disable-devel.inc
12include disable-exec.inc 14include disable-exec.inc
13include disable-interpreters.inc 15include disable-interpreters.inc
14 16include disable-passwdmgr.inc
15ignore noroot 17include disable-programs.inc
16 18
17apparmor 19apparmor
20caps.drop all
18hostname gzip 21hostname gzip
19ipc-namespace 22ipc-namespace
20machine-id 23machine-id
@@ -23,10 +26,14 @@ no3d
23nodbus 26nodbus
24nodvd 27nodvd
25nogroups 28nogroups
29nonewprivs
30#noroot
26nosound 31nosound
27notv 32notv
28nou2f 33nou2f
29novideo 34novideo
35protocol unix
36seccomp
30shell none 37shell none
31tracelog 38tracelog
32 39
@@ -34,5 +41,3 @@ private-cache
34private-dev 41private-dev
35 42
36memory-deny-write-execute 43memory-deny-write-execute
37
38include default.profile
diff --git a/etc/hexchat.profile b/etc/hexchat.profile
index ee70e6655..d032c93e6 100644
--- a/etc/hexchat.profile
+++ b/etc/hexchat.profile
@@ -10,12 +10,8 @@ noblacklist ${HOME}/.config/hexchat
10noblacklist /usr/share/perl* 10noblacklist /usr/share/perl*
11 11
12# Allow python (blacklisted by disable-interpreters.inc) 12# Allow python (blacklisted by disable-interpreters.inc)
13noblacklist ${PATH}/python2* 13include allow-python2.inc
14noblacklist ${PATH}/python3* 14include allow-python3.inc
15noblacklist /usr/lib/python2*
16noblacklist /usr/lib/python3*
17noblacklist /usr/local/lib/python2*
18noblacklist /usr/local/lib/python3*
19 15
20include disable-common.inc 16include disable-common.inc
21include disable-devel.inc 17include disable-devel.inc
diff --git a/etc/imagej.profile b/etc/imagej.profile
index 9d0ab43a0..be656bafa 100644
--- a/etc/imagej.profile
+++ b/etc/imagej.profile
@@ -8,11 +8,8 @@ include globals.local
8 8
9noblacklist ${HOME}/.imagej 9noblacklist ${HOME}/.imagej
10 10
11# Allow access to java 11# Allow java (blacklisted by disable-devel.inc)
12noblacklist ${PATH}/java 12include allow-java.inc
13noblacklist /usr/lib/java
14noblacklist /etc/java
15noblacklist /usr/share/java
16 13
17include disable-common.inc 14include disable-common.inc
18include disable-devel.inc 15include disable-devel.inc
diff --git a/etc/inkscape.profile b/etc/inkscape.profile
index ecc5e5d35..bc0377e53 100644
--- a/etc/inkscape.profile
+++ b/etc/inkscape.profile
@@ -13,12 +13,8 @@ noblacklist ${DOCUMENTS}
13noblacklist ${PICTURES} 13noblacklist ${PICTURES}
14 14
15# Allow python (blacklisted by disable-interpreters.inc) 15# Allow python (blacklisted by disable-interpreters.inc)
16noblacklist ${PATH}/python2* 16include allow-python2.inc
17noblacklist ${PATH}/python3* 17include allow-python3.inc
18noblacklist /usr/lib/python2*
19noblacklist /usr/lib/python3*
20noblacklist /usr/local/lib/python2*
21noblacklist /usr/local/lib/python3*
22 18
23include disable-common.inc 19include disable-common.inc
24include disable-devel.inc 20include disable-devel.inc
diff --git a/etc/jd-gui.profile b/etc/jd-gui.profile
index dce44e5d4..8442c6ed7 100644
--- a/etc/jd-gui.profile
+++ b/etc/jd-gui.profile
@@ -8,11 +8,8 @@ include globals.local
8noblacklist ${HOME}/.config/jd-gui.cfg 8noblacklist ${HOME}/.config/jd-gui.cfg
9noblacklist ${HOME}/.java 9noblacklist ${HOME}/.java
10 10
11# Allow access to java 11# Allow java (blacklisted by disable-devel.inc)
12noblacklist ${PATH}/java 12include allow-java.inc
13noblacklist /usr/lib/java
14noblacklist /etc/java
15noblacklist /usr/share/java
16 13
17include disable-common.inc 14include disable-common.inc
18include disable-devel.inc 15include disable-devel.inc
diff --git a/etc/jitsi.profile b/etc/jitsi.profile
index 5a575bb71..223c360b8 100644
--- a/etc/jitsi.profile
+++ b/etc/jitsi.profile
@@ -7,11 +7,8 @@ include globals.local
7 7
8noblacklist ${HOME}/.jitsi 8noblacklist ${HOME}/.jitsi
9 9
10# Allow access to java 10# Allow java (blacklisted by disable-devel.inc)
11noblacklist ${PATH}/java 11include allow-java.inc
12noblacklist /usr/lib/java
13noblacklist /etc/java
14noblacklist /usr/share/java
15 12
16include disable-common.inc 13include disable-common.inc
17include disable-devel.inc 14include disable-devel.inc
diff --git a/etc/klatexformula.profile b/etc/klatexformula.profile
new file mode 100644
index 000000000..d584f6a56
--- /dev/null
+++ b/etc/klatexformula.profile
@@ -0,0 +1,43 @@
1# Firejail profile for klatexformula
2# Description: generating images from LaTeX equations
3# This file is overwritten after every install/update
4# Persistent local customizations
5include klatexformula.local
6# Persistent global definitions
7include globals.local
8
9noblacklist ${HOME}/.kde/share/apps/klatexformula
10noblacklist ${HOME}/.klatexformula
11
12# Allow python (blacklisted by disable-interpreters.inc)
13include allow-python2.inc
14include allow-python3.inc
15
16include disable-common.inc
17include disable-devel.inc
18include disable-exec.inc
19include disable-interpreters.inc
20include disable-passwdmgr.inc
21include disable-programs.inc
22
23apparmor
24caps.drop all
25machine-id
26net none
27nodbus
28nodvd
29nogroups
30nonewprivs
31noroot
32nosound
33notv
34nou2f
35novideo
36protocol unix
37seccomp
38shell none
39tracelog
40
41private-cache
42private-dev
43private-tmp
diff --git a/etc/klatexformula_cmdl.profile b/etc/klatexformula_cmdl.profile
new file mode 100644
index 000000000..9137963c4
--- /dev/null
+++ b/etc/klatexformula_cmdl.profile
@@ -0,0 +1,5 @@
1# Firejail profile alias for klatexformula_cmdl
2# This file is overwritten after every install/update
3
4# Redirect
5include klatexformula.profile
diff --git a/etc/kodi.profile b/etc/kodi.profile
index dad085967..86afe46b5 100644
--- a/etc/kodi.profile
+++ b/etc/kodi.profile
@@ -15,12 +15,8 @@ noblacklist ${PICTURES}
15noblacklist ${VIDEOS} 15noblacklist ${VIDEOS}
16 16
17# Allow python (blacklisted by disable-interpreters.inc) 17# Allow python (blacklisted by disable-interpreters.inc)
18noblacklist ${PATH}/python2* 18include allow-python2.inc
19noblacklist ${PATH}/python3* 19include allow-python3.inc
20noblacklist /usr/lib/python2*
21noblacklist /usr/lib/python3*
22noblacklist /usr/local/lib/python2*
23noblacklist /usr/local/lib/python3*
24 20
25include disable-common.inc 21include disable-common.inc
26include disable-devel.inc 22include disable-devel.inc
diff --git a/etc/krita.profile b/etc/krita.profile
index 8f275f8df..49c36274a 100644
--- a/etc/krita.profile
+++ b/etc/krita.profile
@@ -15,12 +15,8 @@ noblacklist ${DOCUMENTS}
15noblacklist ${PICTURES} 15noblacklist ${PICTURES}
16 16
17# Allow python (blacklisted by disable-interpreters.inc) 17# Allow python (blacklisted by disable-interpreters.inc)
18noblacklist ${PATH}/python2* 18include allow-python2.inc
19noblacklist ${PATH}/python3* 19include allow-python3.inc
20noblacklist /usr/lib/python2*
21noblacklist /usr/lib/python3*
22noblacklist /usr/local/lib/python2*
23noblacklist /usr/local/lib/python3*
24 20
25include disable-common.inc 21include disable-common.inc
26include disable-devel.inc 22include disable-devel.inc
diff --git a/etc/ktouch.profile b/etc/ktouch.profile
new file mode 100644
index 000000000..446bc50ee
--- /dev/null
+++ b/etc/ktouch.profile
@@ -0,0 +1,50 @@
1# Firejail profile for KTouch
2# Description: a typing tutor by KDE
3# This file is overwritten after every install/update
4# Persistent local customizations
5include ktouch.local
6# Persistent global definitions
7include globals.local
8
9noblacklist ${HOME}/.config/ktouch2rc
10noblacklist ${HOME}/.local/share/ktouch
11
12include disable-common.inc
13include disable-devel.inc
14include disable-exec.inc
15include disable-interpreters.inc
16include disable-passwdmgr.inc
17include disable-programs.inc
18include disable-xdg.inc
19
20mkfile ${HOME}/.config/ktouch2rc
21mkdir ${HOME}/.local/share/ktouch
22whitelist ${HOME}/.config/ktouch2rc
23whitelist ${HOME}/.local/share/ktouch
24include whitelist-common.inc
25include whitelist-var-common.inc
26
27apparmor
28caps.drop all
29machine-id
30net none
31nodbus
32nodvd
33nogroups
34nonewprivs
35noroot
36nosound
37notv
38nou2f
39novideo
40protocol unix,netlink
41seccomp
42shell none
43tracelog
44
45disable-mnt
46private-bin ktouch
47private-cache
48private-dev
49private-etc alternatives,fonts,kde5rc,machine-id
50private-tmp
diff --git a/etc/less.profile b/etc/less.profile
index 5ad7cb959..bc85e5ad5 100644
--- a/etc/less.profile
+++ b/etc/less.profile
@@ -5,24 +5,33 @@ quiet
5# Persistent local customizations 5# Persistent local customizations
6include less.local 6include less.local
7# Persistent global definitions 7# Persistent global definitions
8# added by included profile 8include globals.local
9#include globals.local
10 9
11blacklist /tmp/.X11-unix 10blacklist /tmp/.X11-unix
11
12include disable-common.inc
13include disable-devel.inc
12include disable-exec.inc 14include disable-exec.inc
15include disable-interpreters.inc
16include disable-passwdmgr.inc
17include disable-programs.inc
13 18
14ignore noroot
15apparmor 19apparmor
20caps.drop all
16ipc-namespace 21ipc-namespace
17machine-id 22machine-id
18net none 23net none
19no3d 24no3d
20nodbus 25nodbus
21nodvd 26nodvd
27nonewprivs
28#noroot
22nosound 29nosound
23notv 30notv
24nou2f 31nou2f
25novideo 32novideo
33protocol unix
34seccomp
26shell none 35shell none
27tracelog 36tracelog
28writable-var-log 37writable-var-log
@@ -35,5 +44,3 @@ private-cache
35private-dev 44private-dev
36 45
37memory-deny-write-execute 46memory-deny-write-execute
38
39include default.profile
diff --git a/etc/libreoffice.profile b/etc/libreoffice.profile
index 6e77cd741..05dfd4ca6 100644
--- a/etc/libreoffice.profile
+++ b/etc/libreoffice.profile
@@ -10,12 +10,10 @@ noblacklist ${HOME}/.java
10noblacklist /usr/local/sbin 10noblacklist /usr/local/sbin
11noblacklist ${HOME}/.config/libreoffice 11noblacklist ${HOME}/.config/libreoffice
12 12
13# libreoffice uses java; if you don't care about java functionality, 13# libreoffice uses java for some certain operations
14# comment the next four lines 14# comment if you don't care about java functionality
15noblacklist ${PATH}/java 15# Allow java (blacklisted by disable-devel.inc)
16noblacklist /usr/lib/java 16include allow-java.inc
17noblacklist /etc/java
18noblacklist /usr/share/java
19 17
20include disable-common.inc 18include disable-common.inc
21include disable-devel.inc 19include disable-devel.inc
@@ -29,9 +27,7 @@ include whitelist-var-common.inc
29# comment the next line to use the ubuntu profile instead of firejail's apparmor profile 27# comment the next line to use the ubuntu profile instead of firejail's apparmor profile
30apparmor 28apparmor
31caps.drop all 29caps.drop all
32#machine-id
33netfilter 30netfilter
34#nodbus
35nodvd 31nodvd
36nogroups 32nogroups
37# comment nonewprivs when using the ubuntu 18.04/debian 10 apparmor profile 33# comment nonewprivs when using the ubuntu 18.04/debian 10 apparmor profile
@@ -50,5 +46,4 @@ tracelog
50private-dev 46private-dev
51private-tmp 47private-tmp
52 48
53
54join-or-start libreoffice 49join-or-start libreoffice
diff --git a/etc/liferea.profile b/etc/liferea.profile
index e778d7b55..70d317199 100644
--- a/etc/liferea.profile
+++ b/etc/liferea.profile
@@ -11,12 +11,8 @@ noblacklist ${HOME}/.config/liferea
11noblacklist ${HOME}/.local/share/liferea 11noblacklist ${HOME}/.local/share/liferea
12 12
13# Allow python (blacklisted by disable-interpreters.inc) 13# Allow python (blacklisted by disable-interpreters.inc)
14noblacklist ${PATH}/python2* 14include allow-python2.inc
15noblacklist ${PATH}/python3* 15include allow-python3.inc
16noblacklist /usr/lib/python2*
17noblacklist /usr/lib/python3*
18noblacklist /usr/local/lib/python2*
19noblacklist /usr/local/lib/python3*
20 16
21include disable-common.inc 17include disable-common.inc
22include disable-devel.inc 18include disable-devel.inc
diff --git a/etc/links.profile b/etc/links.profile
new file mode 100644
index 000000000..bd0b0cc92
--- /dev/null
+++ b/etc/links.profile
@@ -0,0 +1,64 @@
1# Firejail profile for links
2# Description: Text WWW browser
3# This file is overwritten after every install/update
4# Persistent local customizations
5include links.local
6# Persistent global definitions
7include globals.local
8
9noblacklist ${HOME}/.links
10
11blacklist /tmp/.X11-unix
12
13include disable-common.inc
14include disable-devel.inc
15include disable-exec.inc
16include disable-interpreters.inc
17include disable-passwdmgr.inc
18# you may want to noblacklist files/directories blacklisted in
19# disable-programs.inc and used as associated programs
20include disable-programs.inc
21include disable-xdg.inc
22
23mkdir ${HOME}/.links
24whitelist ${HOME}/.links
25whitelist ${DOWNLOADS}
26include whitelist-var-common.inc
27
28caps.drop all
29ipc-namespace
30# comment machine-id (or put 'ignore machine-id' in your links.local) if you want
31# to allow access only to user-configured associated media player
32machine-id
33netfilter
34# comment no3d (or put 'ignore no3d' in your links.local) if you want
35# to allow access only to user-configured associated media player
36no3d
37nodvd
38nogroups
39nonewprivs
40noroot
41# comment nosound (or put 'ignore nosound' in your links.local) if you want
42# to allow access only to user-configured associated media player
43nosound
44notv
45nou2f
46novideo
47protocol unix,inet,inet6
48seccomp
49shell none
50tracelog
51
52disable-mnt
53# if you want to use user-configured programs add 'private-bin PROGRAM1,PROGRAM2' to your links.local
54# or append 'PROGRAM1,PROGRAM2' to this private-bin line
55private-bin links,sh
56private-cache
57private-dev
58private-etc alternatives,ca-certificates,crypto-policies,nsswitch.conf,pki,resolv.conf,ssl
59# Uncomment the following line (or put it in your links.local) allow external
60# media players
61# private-etc alsa,asound.conf,machine-id,openal,pulse
62private-tmp
63
64memory-deny-write-execute
diff --git a/etc/lollypop.profile b/etc/lollypop.profile
index 76b8ed75c..6667815b9 100644
--- a/etc/lollypop.profile
+++ b/etc/lollypop.profile
@@ -10,12 +10,8 @@ noblacklist ${HOME}/.local/share/lollypop
10noblacklist ${MUSIC} 10noblacklist ${MUSIC}
11 11
12# Allow python (blacklisted by disable-interpreters.inc) 12# Allow python (blacklisted by disable-interpreters.inc)
13noblacklist ${PATH}/python2* 13include allow-python2.inc
14noblacklist ${PATH}/python3* 14include allow-python3.inc
15noblacklist /usr/lib/python2*
16noblacklist /usr/lib/python3*
17noblacklist /usr/local/lib/python2*
18noblacklist /usr/local/lib/python3*
19 15
20include disable-common.inc 16include disable-common.inc
21include disable-devel.inc 17include disable-devel.inc
diff --git a/etc/macrofusion.profile b/etc/macrofusion.profile
index 7d42f2bfe..f7a059f50 100644
--- a/etc/macrofusion.profile
+++ b/etc/macrofusion.profile
@@ -9,12 +9,8 @@ noblacklist ${HOME}/.config/mfusion
9noblacklist ${PICTURES} 9noblacklist ${PICTURES}
10 10
11# Allow python (blacklisted by disable-interpreters.inc) 11# Allow python (blacklisted by disable-interpreters.inc)
12noblacklist ${PATH}/python2* 12include allow-python2.inc
13noblacklist ${PATH}/python3* 13include allow-python3.inc
14noblacklist /usr/lib/python2*
15noblacklist /usr/lib/python3*
16noblacklist /usr/local/lib/python2*
17noblacklist /usr/local/lib/python3*
18 14
19include disable-common.inc 15include disable-common.inc
20include disable-devel.inc 16include disable-devel.inc
diff --git a/etc/masterpdfeditor.profile b/etc/masterpdfeditor.profile
index ce6486115..e4da0c66a 100644
--- a/etc/masterpdfeditor.profile
+++ b/etc/masterpdfeditor.profile
@@ -20,9 +20,7 @@ include whitelist-var-common.inc
20 20
21apparmor 21apparmor
22caps.drop all 22caps.drop all
23ipc-namespace
24machine-id 23machine-id
25no3d
26nodvd 24nodvd
27nogroups 25nogroups
28nonewprivs 26nonewprivs
@@ -36,7 +34,6 @@ seccomp
36shell none 34shell none
37tracelog 35tracelog
38 36
39private-bin masterpdfedito*
40private-cache 37private-cache
41private-dev 38private-dev
42private-etc alternatives,fonts 39private-etc alternatives,fonts
diff --git a/etc/mate-calc.profile b/etc/mate-calc.profile
index ac5577b4c..2f6020ad3 100644
--- a/etc/mate-calc.profile
+++ b/etc/mate-calc.profile
@@ -15,12 +15,13 @@ include disable-interpreters.inc
15include disable-passwdmgr.inc 15include disable-passwdmgr.inc
16include disable-programs.inc 16include disable-programs.inc
17 17
18mkdir ${HOME}/.cache/mate-calc
19mkdir ${HOME}/.config/caja
20mkdir ${HOME}/.config/mate-menu
18whitelist ${HOME}/.cache/mate-calc 21whitelist ${HOME}/.cache/mate-calc
19whitelist ${HOME}/.config/caja 22whitelist ${HOME}/.config/caja
20whitelist ${HOME}/.config/gtk-3.0
21whitelist ${HOME}/.config/dconf
22whitelist ${HOME}/.config/mate-menu 23whitelist ${HOME}/.config/mate-menu
23whitelist ${HOME}/.themes 24include whitelist-common.inc
24 25
25caps.drop all 26caps.drop all
26net none 27net none
@@ -40,7 +41,7 @@ shell none
40 41
41disable-mnt 42disable-mnt
42private-bin mate-calc,mate-calculator 43private-bin mate-calc,mate-calculator
43private-etc alternatives,fonts 44private-etc alternatives,dconf,fonts,gtk-3.0
44private-dev 45private-dev
45private-opt none 46private-opt none
46private-tmp 47private-tmp
diff --git a/etc/mate-color-select.profile b/etc/mate-color-select.profile
index bd3631445..f1a7ca18f 100644
--- a/etc/mate-color-select.profile
+++ b/etc/mate-color-select.profile
@@ -5,7 +5,6 @@ include mate-color-select.local
5# Persistent global definitions 5# Persistent global definitions
6include globals.local 6include globals.local
7 7
8
9include disable-common.inc 8include disable-common.inc
10include disable-devel.inc 9include disable-devel.inc
11include disable-exec.inc 10include disable-exec.inc
@@ -13,10 +12,7 @@ include disable-interpreters.inc
13include disable-passwdmgr.inc 12include disable-passwdmgr.inc
14include disable-programs.inc 13include disable-programs.inc
15 14
16whitelist ${HOME}/.config/gtk-3.0 15include whitelist-common.inc
17whitelist ${HOME}/.fonts
18whitelist ${HOME}/.icons
19whitelist ${HOME}/.themes
20 16
21caps.drop all 17caps.drop all
22netfilter 18netfilter
diff --git a/etc/mate-dictionary.profile b/etc/mate-dictionary.profile
index 1217910a0..d1dc76260 100644
--- a/etc/mate-dictionary.profile
+++ b/etc/mate-dictionary.profile
@@ -14,11 +14,9 @@ include disable-interpreters.inc
14include disable-passwdmgr.inc 14include disable-passwdmgr.inc
15include disable-programs.inc 15include disable-programs.inc
16 16
17mkdir ${HOME}/.config/mate/mate-dictionary
17whitelist ${HOME}/.config/mate/mate-dictionary 18whitelist ${HOME}/.config/mate/mate-dictionary
18whitelist ${HOME}/.config/gtk-3.0 19include whitelist-common.inc
19whitelist ${HOME}/.fonts
20whitelist ${HOME}/.icons
21whitelist ${HOME}/.themes
22 20
23caps.drop all 21caps.drop all
24netfilter 22netfilter
diff --git a/etc/mediathekview.profile b/etc/mediathekview.profile
index 497014dab..4ebb5429a 100644
--- a/etc/mediathekview.profile
+++ b/etc/mediathekview.profile
@@ -18,11 +18,8 @@ noblacklist ${HOME}/.mediathek3
18noblacklist ${HOME}/.mplayer 18noblacklist ${HOME}/.mplayer
19noblacklist ${VIDEOS} 19noblacklist ${VIDEOS}
20 20
21# Allow access to java 21# Allow java (blacklisted by disable-devel.inc)
22noblacklist ${PATH}/java 22include allow-java.inc
23noblacklist /usr/lib/java
24noblacklist /etc/java
25noblacklist /usr/share/java
26 23
27include disable-common.inc 24include disable-common.inc
28include disable-devel.inc 25include disable-devel.inc
diff --git a/etc/meld.profile b/etc/meld.profile
index 14e0f238d..34b1f22de 100644
--- a/etc/meld.profile
+++ b/etc/meld.profile
@@ -6,22 +6,17 @@ include meld.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9noblacklist ${HOME}/.local/share/meld
10
11# Allow python (blacklisted by disable-interpreters.inc)
12noblacklist ${PATH}/python2*
13noblacklist ${PATH}/python3*
14noblacklist /usr/lib/python2*
15noblacklist /usr/lib/python3*
16noblacklist /usr/local/lib/python2*
17noblacklist /usr/local/lib/python3*
18
19noblacklist ${HOME}/.config/git 9noblacklist ${HOME}/.config/git
20noblacklist ${HOME}/.gitconfig 10noblacklist ${HOME}/.gitconfig
21noblacklist ${HOME}/.git-credentials 11noblacklist ${HOME}/.git-credentials
12noblacklist ${HOME}/.local/share/meld
22noblacklist ${HOME}/.ssh 13noblacklist ${HOME}/.ssh
23noblacklist ${HOME}/.subversion 14noblacklist ${HOME}/.subversion
24 15
16# Allow python (blacklisted by disable-interpreters.inc)
17include allow-python2.inc
18include allow-python3.inc
19
25# Uncomment the next line (or put it into your meld.local) if you don't need to compare files in disable-common.inc. 20# Uncomment the next line (or put it into your meld.local) if you don't need to compare files in disable-common.inc.
26#include disable-common.inc 21#include disable-common.inc
27include disable-devel.inc 22include disable-devel.inc
@@ -59,3 +54,4 @@ private-dev
59#private-etc alternatives,ca-certificates,crypto-policies,fonts,hostname,hosts,pki,resolv.conf,ssl,subversion 54#private-etc alternatives,ca-certificates,crypto-policies,fonts,hostname,hosts,pki,resolv.conf,ssl,subversion
60private-tmp 55private-tmp
61 56
57read-only ${HOME}/.ssh
diff --git a/etc/mendeleydesktop.profile b/etc/mendeleydesktop.profile
index d54371371..ed6cc3ae0 100644
--- a/etc/mendeleydesktop.profile
+++ b/etc/mendeleydesktop.profile
@@ -15,12 +15,8 @@ noblacklist ${HOME}/.pki
15noblacklist ${HOME}/.local/share/pki 15noblacklist ${HOME}/.local/share/pki
16 16
17# Allow python (blacklisted by disable-interpreters.inc) 17# Allow python (blacklisted by disable-interpreters.inc)
18noblacklist ${PATH}/python2* 18include allow-python2.inc
19noblacklist ${PATH}/python3* 19include allow-python3.inc
20noblacklist /usr/lib/python2*
21noblacklist /usr/lib/python3*
22noblacklist /usr/local/lib/python2*
23noblacklist /usr/local/lib/python3*
24 20
25include disable-common.inc 21include disable-common.inc
26include disable-devel.inc 22include disable-devel.inc
diff --git a/etc/meteo-qt.profile b/etc/meteo-qt.profile
index a769a97ec..4437d86ea 100644
--- a/etc/meteo-qt.profile
+++ b/etc/meteo-qt.profile
@@ -10,9 +10,7 @@ noblacklist ${HOME}/.config/autostart
10noblacklist ${HOME}/.config/meteo-qt 10noblacklist ${HOME}/.config/meteo-qt
11 11
12# Allow python (blacklisted by disable-interpreters.inc) 12# Allow python (blacklisted by disable-interpreters.inc)
13noblacklist ${PATH}/python3* 13include allow-python3.inc
14noblacklist /usr/lib/python3*
15noblacklist /usr/local/lib/python3*
16 14
17include disable-common.inc 15include disable-common.inc
18include disable-devel.inc 16include disable-devel.inc
@@ -22,8 +20,8 @@ include disable-passwdmgr.inc
22include disable-programs.inc 20include disable-programs.inc
23include disable-xdg.inc 21include disable-xdg.inc
24 22
25whitelist ${HOME}/.config/autostart
26mkdir ${HOME}/.config/meteo-qt 23mkdir ${HOME}/.config/meteo-qt
24whitelist ${HOME}/.config/autostart
27whitelist ${HOME}/.config/meteo-qt 25whitelist ${HOME}/.config/meteo-qt
28include whitelist-common.inc 26include whitelist-common.inc
29include whitelist-var-common.inc 27include whitelist-var-common.inc
diff --git a/etc/midori.profile b/etc/midori.profile
index e4d39cd70..ffae4919f 100644
--- a/etc/midori.profile
+++ b/etc/midori.profile
@@ -6,6 +6,9 @@ include midori.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9# noexec ${HOME} breaks DRM binaries.
10?BROWSER_ALLOW_DRM: ignore noexec ${HOME}
11
9noblacklist ${HOME}/.config/midori 12noblacklist ${HOME}/.config/midori
10noblacklist ${HOME}/.local/share/midori 13noblacklist ${HOME}/.local/share/midori
11# noblacklist ${HOME}/.local/share/webkit 14# noblacklist ${HOME}/.local/share/webkit
@@ -13,9 +16,6 @@ noblacklist ${HOME}/.local/share/midori
13noblacklist ${HOME}/.pki 16noblacklist ${HOME}/.pki
14noblacklist ${HOME}/.local/share/pki 17noblacklist ${HOME}/.local/share/pki
15 18
16# noexec ${HOME} breaks DRM binaries.
17?BROWSER_ALLOW_DRM: ignore noexec ${HOME}
18
19include disable-common.inc 19include disable-common.inc
20include disable-devel.inc 20include disable-devel.inc
21include disable-exec.inc 21include disable-exec.inc
diff --git a/etc/mpDris2.profile b/etc/mpDris2.profile
index 81bf88b8b..db2bb6a93 100644
--- a/etc/mpDris2.profile
+++ b/etc/mpDris2.profile
@@ -9,12 +9,8 @@ include globals.local
9noblacklist ${HOME}/.config/mpDris2 9noblacklist ${HOME}/.config/mpDris2
10 10
11# Allow python (blacklisted by disable-interpreters.inc) 11# Allow python (blacklisted by disable-interpreters.inc)
12noblacklist ${PATH}/python2* 12include allow-python2.inc
13noblacklist ${PATH}/python3* 13include allow-python3.inc
14noblacklist /usr/lib/python2*
15noblacklist /usr/lib/python3*
16noblacklist /usr/local/lib/python2*
17noblacklist /usr/local/lib/python3*
18 14
19include disable-common.inc 15include disable-common.inc
20include disable-devel.inc 16include disable-devel.inc
diff --git a/etc/mpsyt.profile b/etc/mpsyt.profile
index 0808c5a1a..775e137bc 100644
--- a/etc/mpsyt.profile
+++ b/etc/mpsyt.profile
@@ -6,14 +6,6 @@ include mpsyt.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9# Allow python (blacklisted by disable-interpreters.inc)
10noblacklist ${PATH}/python2*
11noblacklist ${PATH}/python3*
12noblacklist /usr/lib/python2*
13noblacklist /usr/lib/python3*
14noblacklist /usr/local/lib/python2*
15noblacklist /usr/local/lib/python3*
16
17noblacklist ${HOME}/.config/mpv 9noblacklist ${HOME}/.config/mpv
18noblacklist ${HOME}/.mplayer 10noblacklist ${HOME}/.mplayer
19noblacklist ${HOME}/.config/mps-youtube 11noblacklist ${HOME}/.config/mps-youtube
@@ -22,6 +14,10 @@ noblacklist ${HOME}/mps
22noblacklist ${MUSIC} 14noblacklist ${MUSIC}
23noblacklist ${VIDEOS} 15noblacklist ${VIDEOS}
24 16
17# Allow python (blacklisted by disable-interpreters.inc)
18include allow-python2.inc
19include allow-python3.inc
20
25include disable-common.inc 21include disable-common.inc
26include disable-devel.inc 22include disable-devel.inc
27include disable-exec.inc 23include disable-exec.inc
diff --git a/etc/mpv.profile b/etc/mpv.profile
index 34542b11b..aa2335516 100644
--- a/etc/mpv.profile
+++ b/etc/mpv.profile
@@ -13,12 +13,8 @@ noblacklist ${MUSIC}
13noblacklist ${VIDEOS} 13noblacklist ${VIDEOS}
14 14
15# Allow python (blacklisted by disable-interpreters.inc) 15# Allow python (blacklisted by disable-interpreters.inc)
16noblacklist ${PATH}/python2* 16include allow-python2.inc
17noblacklist ${PATH}/python3* 17include allow-python3.inc
18noblacklist /usr/lib/python2*
19noblacklist /usr/lib/python3*
20noblacklist /usr/local/lib/python2*
21noblacklist /usr/local/lib/python3*
22 18
23include disable-common.inc 19include disable-common.inc
24include disable-devel.inc 20include disable-devel.inc
diff --git a/etc/ms-office.profile b/etc/ms-office.profile
index f8e75379e..25b097d72 100644
--- a/etc/ms-office.profile
+++ b/etc/ms-office.profile
@@ -9,12 +9,8 @@ noblacklist ${HOME}/.cache/ms-office-online
9noblacklist ${HOME}/.jak 9noblacklist ${HOME}/.jak
10 10
11# Allow python (blacklisted by disable-interpreters.inc) 11# Allow python (blacklisted by disable-interpreters.inc)
12noblacklist ${PATH}/python2* 12include allow-python2.inc
13noblacklist ${PATH}/python3* 13include allow-python3.inc
14noblacklist /usr/lib/python2*
15noblacklist /usr/lib/python3*
16noblacklist /usr/local/lib/python2*
17noblacklist /usr/local/lib/python3*
18 14
19include disable-common.inc 15include disable-common.inc
20include disable-devel.inc 16include disable-devel.inc
diff --git a/etc/ms-skype.profile b/etc/ms-skype.profile
index 02084d923..df1618361 100644
--- a/etc/ms-skype.profile
+++ b/etc/ms-skype.profile
@@ -3,10 +3,13 @@
3# Persistent local customizations 3# Persistent local customizations
4include ms-skype.local 4include ms-skype.local
5# Persistent global definitions 5# Persistent global definitions
6include globals.local 6# added by included profile
7#include globals.local
7 8
8noblacklist ${HOME}/.cache/ms-skype-online
9ignore novideo 9ignore novideo
10
11noblacklist ${HOME}/.cache/ms-skype-online
12
10private-bin ms-skype 13private-bin ms-skype
11 14
12# Redirect 15# Redirect
diff --git a/etc/multimc5.profile b/etc/multimc5.profile
index b6407c4f9..98edf273e 100644
--- a/etc/multimc5.profile
+++ b/etc/multimc5.profile
@@ -10,11 +10,8 @@ noblacklist ${HOME}/.local/share/multimc
10noblacklist ${HOME}/.local/share/multimc5 10noblacklist ${HOME}/.local/share/multimc5
11noblacklist ${HOME}/.multimc5 11noblacklist ${HOME}/.multimc5
12 12
13# Allow access to java 13# Allow java (blacklisted by disable-devel.inc)
14noblacklist ${PATH}/java 14include allow-java.inc
15noblacklist /usr/lib/java
16noblacklist /etc/java
17noblacklist /usr/share/java
18 15
19include disable-common.inc 16include disable-common.inc
20include disable-devel.inc 17include disable-devel.inc
@@ -24,6 +21,8 @@ include disable-passwdmgr.inc
24include disable-programs.inc 21include disable-programs.inc
25 22
26mkdir ${HOME}/.local/share/multimc 23mkdir ${HOME}/.local/share/multimc
24mkdir ${HOME}/.local/share/multimc5
25mkdir ${HOME}/.multimc5
27whitelist ${HOME}/.local/share/multimc 26whitelist ${HOME}/.local/share/multimc
28whitelist ${HOME}/.local/share/multimc5 27whitelist ${HOME}/.local/share/multimc5
29whitelist ${HOME}/.multimc5 28whitelist ${HOME}/.multimc5
diff --git a/etc/mutt.profile b/etc/mutt.profile
index cc3a323e0..419e17e95 100644
--- a/etc/mutt.profile
+++ b/etc/mutt.profile
@@ -6,8 +6,6 @@ include mutt.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9blacklist /tmp/.X11-unix
10
11noblacklist /var/mail 9noblacklist /var/mail
12noblacklist /var/spool/mail 10noblacklist /var/spool/mail
13noblacklist ${HOME}/.Mail 11noblacklist ${HOME}/.Mail
@@ -34,6 +32,8 @@ noblacklist ${HOME}/mail
34noblacklist ${HOME}/postponed 32noblacklist ${HOME}/postponed
35noblacklist ${HOME}/sent 33noblacklist ${HOME}/sent
36 34
35blacklist /tmp/.X11-unix
36
37include disable-common.inc 37include disable-common.inc
38include disable-devel.inc 38include disable-devel.inc
39include disable-interpreters.inc 39include disable-interpreters.inc
diff --git a/etc/mypaint.profile b/etc/mypaint.profile
index 615bb60d1..19643e749 100644
--- a/etc/mypaint.profile
+++ b/etc/mypaint.profile
@@ -9,10 +9,12 @@ include globals.local
9noblacklist ${HOME}/.cache/mypaint 9noblacklist ${HOME}/.cache/mypaint
10noblacklist ${HOME}/.config/mypaint 10noblacklist ${HOME}/.config/mypaint
11noblacklist ${HOME}/.local/share/mypaint 11noblacklist ${HOME}/.local/share/mypaint
12noblacklist ${PATH}/python2*
13noblacklist /usr/lib/python2*
14noblacklist ${PICTURES} 12noblacklist ${PICTURES}
15 13
14# Allow python (blacklisted by disable-interpreters.inc)
15include allow-python2.inc
16include allow-python3.inc
17
16include disable-common.inc 18include disable-common.inc
17include disable-devel.inc 19include disable-devel.inc
18include disable-exec.inc 20include disable-exec.inc
diff --git a/etc/natron.profile b/etc/natron.profile
index 3f997a7a0..7ad217b72 100644
--- a/etc/natron.profile
+++ b/etc/natron.profile
@@ -5,18 +5,13 @@ include natron.local
5# Persistent global definitions 5# Persistent global definitions
6include globals.local 6include globals.local
7 7
8# Allow python (blacklisted by disable-interpreters.inc)
9noblacklist ${PATH}/python2*
10noblacklist ${PATH}/python3*
11noblacklist /usr/lib/python2*
12noblacklist /usr/lib/python3*
13noblacklist /usr/local/lib/python2*
14noblacklist /usr/local/lib/python3*
15
16noblacklist ${HOME}/.Natron 8noblacklist ${HOME}/.Natron
17noblacklist ${HOME}/.cache/INRIA/Natron 9noblacklist ${HOME}/.cache/INRIA/Natron
18noblacklist ${HOME}/.config/INRIA 10noblacklist ${HOME}/.config/INRIA
19noblacklist /opt/natron 11
12# Allow python (blacklisted by disable-interpreters.inc)
13include allow-python2.inc
14include allow-python3.inc
20 15
21include disable-common.inc 16include disable-common.inc
22include disable-devel.inc 17include disable-devel.inc
@@ -33,9 +28,9 @@ nogroups
33nonewprivs 28nonewprivs
34noroot 29noroot
35notv 30notv
36protocol unix,inet,inet6 31nou2f
32protocol unix
37seccomp 33seccomp
38shell none 34shell none
39 35
40private-bin natron,Natron,NatronRenderer 36private-bin natron,Natron,NatronRenderer
41
diff --git a/etc/nautilus.profile b/etc/nautilus.profile
index 1d68ef8e3..b81313b6a 100644
--- a/etc/nautilus.profile
+++ b/etc/nautilus.profile
@@ -15,12 +15,8 @@ noblacklist ${HOME}/.local/share/nautilus
15noblacklist ${HOME}/.local/share/nautilus-python 15noblacklist ${HOME}/.local/share/nautilus-python
16 16
17# Allow python (blacklisted by disable-interpreters.inc) 17# Allow python (blacklisted by disable-interpreters.inc)
18noblacklist ${PATH}/python2* 18include allow-python2.inc
19noblacklist ${PATH}/python3* 19include allow-python3.inc
20noblacklist /usr/lib/python2*
21noblacklist /usr/lib/python3*
22noblacklist /usr/local/lib/python2*
23noblacklist /usr/local/lib/python3*
24 20
25include disable-common.inc 21include disable-common.inc
26include disable-devel.inc 22include disable-devel.inc
diff --git a/etc/nemo.profile b/etc/nemo.profile
index a23ba1700..26cfedb66 100644
--- a/etc/nemo.profile
+++ b/etc/nemo.profile
@@ -12,12 +12,8 @@ noblacklist ${HOME}/.local/share/nemo
12noblacklist ${HOME}/.local/share/nemo-python 12noblacklist ${HOME}/.local/share/nemo-python
13 13
14# Allow python (blacklisted by disable-interpreters.inc) 14# Allow python (blacklisted by disable-interpreters.inc)
15noblacklist ${PATH}/python2* 15include allow-python2.inc
16noblacklist ${PATH}/python3* 16include allow-python3.inc
17noblacklist /usr/lib/python2*
18noblacklist /usr/lib/python3*
19noblacklist /usr/local/lib/python2*
20noblacklist /usr/local/lib/python3*
21 17
22include disable-common.inc 18include disable-common.inc
23include disable-devel.inc 19include disable-devel.inc
diff --git a/etc/nethack-vultures.profile b/etc/nethack-vultures.profile
index 2c23a4868..e1294153b 100644
--- a/etc/nethack-vultures.profile
+++ b/etc/nethack-vultures.profile
@@ -6,7 +6,6 @@ include nethack.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9
10noblacklist ${HOME}/.vultures 9noblacklist ${HOME}/.vultures
11noblacklist /var/log 10noblacklist /var/log
12 11
@@ -43,4 +42,3 @@ private-cache
43private-dev 42private-dev
44private-tmp 43private-tmp
45writable-var 44writable-var
46
diff --git a/etc/nethack.profile b/etc/nethack.profile
index 5375d2f4f..3df632451 100644
--- a/etc/nethack.profile
+++ b/etc/nethack.profile
@@ -6,7 +6,6 @@ include nethack.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9
10noblacklist /var/games/nethack 9noblacklist /var/games/nethack
11 10
12include disable-common.inc 11include disable-common.inc
diff --git a/etc/nheko.profile b/etc/nheko.profile
index 2dfddf872..119b30239 100644
--- a/etc/nheko.profile
+++ b/etc/nheko.profile
@@ -18,11 +18,9 @@ include disable-programs.inc
18 18
19mkdir ${HOME}/.config/nheko 19mkdir ${HOME}/.config/nheko
20mkdir ${HOME}/.cache/nheko/nheko 20mkdir ${HOME}/.cache/nheko/nheko
21
22whitelist ${HOME}/.config/nheko 21whitelist ${HOME}/.config/nheko
23whitelist ${HOME}/.cache/nheko/nheko 22whitelist ${HOME}/.cache/nheko/nheko
24whitelist ${DOWNLOADS} 23whitelist ${DOWNLOADS}
25
26include whitelist-common.inc 24include whitelist-common.inc
27 25
28caps.drop all 26caps.drop all
diff --git a/etc/nitroshare.profile b/etc/nitroshare.profile
index 7aba69490..19b6615ef 100644
--- a/etc/nitroshare.profile
+++ b/etc/nitroshare.profile
@@ -10,12 +10,8 @@ noblacklist ${HOME}/.config/Nathan Osman
10noblacklist ${HOME}/.config/NitroShare 10noblacklist ${HOME}/.config/NitroShare
11 11
12# Allow python (blacklisted by disable-interpreters.inc) 12# Allow python (blacklisted by disable-interpreters.inc)
13noblacklist ${PATH}/python2* 13include allow-python2.inc
14noblacklist ${PATH}/python3* 14include allow-python3.inc
15noblacklist /usr/lib/python2*
16noblacklist /usr/lib/python3*
17noblacklist /usr/local/lib/python2*
18noblacklist /usr/local/lib/python3*
19 15
20include disable-common.inc 16include disable-common.inc
21include disable-devel.inc 17include disable-devel.inc
diff --git a/etc/nylas.profile b/etc/nylas.profile
index 263e09198..c959eb991 100644
--- a/etc/nylas.profile
+++ b/etc/nylas.profile
@@ -14,6 +14,8 @@ include disable-interpreters.inc
14include disable-passwdmgr.inc 14include disable-passwdmgr.inc
15include disable-programs.inc 15include disable-programs.inc
16 16
17mkdir ${HOME}/.config/Nylas Mail
18mkdir ${HOME}/.nylas-mail
17whitelist ${DOWNLOADS} 19whitelist ${DOWNLOADS}
18whitelist ${HOME}/.config/Nylas Mail 20whitelist ${HOME}/.config/Nylas Mail
19whitelist ${HOME}/.nylas-mail 21whitelist ${HOME}/.nylas-mail
diff --git a/etc/nyx.profile b/etc/nyx.profile
index ed39283b2..1ea33ac4d 100644
--- a/etc/nyx.profile
+++ b/etc/nyx.profile
@@ -6,14 +6,11 @@ include nyx.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9noblacklist ${PATH}/python2* 9# Allow python (blacklisted by disable-interpreters.inc)
10noblacklist ${PATH}/python3* 10include allow-python2.inc
11noblacklist /usr/lib/python2* 11include allow-python3.inc
12noblacklist /usr/lib/python3*
13 12
14noblacklist ${HOME}/.nyx 13noblacklist ${HOME}/.nyx
15mkdir ${HOME}/.nyx
16whitelist ${HOME}/.nyx
17 14
18include disable-common.inc 15include disable-common.inc
19include disable-devel.inc 16include disable-devel.inc
@@ -23,6 +20,11 @@ include disable-passwdmgr.inc
23include disable-programs.inc 20include disable-programs.inc
24include disable-xdg.inc 21include disable-xdg.inc
25 22
23mkdir ${HOME}/.nyx
24whitelist ${HOME}/.nyx
25include whitelist-common.inc
26include whitelist-var-common.inc
27
26caps.drop all 28caps.drop all
27netfilter 29netfilter
28no3d 30no3d
diff --git a/etc/obs.profile b/etc/obs.profile
index 1f02efc7f..038242cae 100644
--- a/etc/obs.profile
+++ b/etc/obs.profile
@@ -11,12 +11,8 @@ noblacklist ${PICTURES}
11noblacklist ${VIDEOS} 11noblacklist ${VIDEOS}
12 12
13# Allow python (blacklisted by disable-interpreters.inc) 13# Allow python (blacklisted by disable-interpreters.inc)
14noblacklist ${PATH}/python2* 14include allow-python2.inc
15noblacklist ${PATH}/python3* 15include allow-python3.inc
16noblacklist /usr/lib/python2*
17noblacklist /usr/lib/python3*
18noblacklist /usr/local/lib/python2*
19noblacklist /usr/local/lib/python3*
20 16
21include disable-common.inc 17include disable-common.inc
22include disable-devel.inc 18include disable-devel.inc
diff --git a/etc/ocenaudio.profile b/etc/ocenaudio.profile
index ceeb59384..b2249f63b 100644
--- a/etc/ocenaudio.profile
+++ b/etc/ocenaudio.profile
@@ -24,7 +24,7 @@ ipc-namespace
24# net none breaks AppArmor on Ubuntu systems 24# net none breaks AppArmor on Ubuntu systems
25netfilter 25netfilter
26no3d 26no3d
27# nodbus - breaks preferences, comment when needed 27# nodbus - breaks preferences, comment (or put 'ignore nodbus' in your oceanaudio.local) when needed
28nodbus 28nodbus
29nodvd 29nodvd
30nogroups 30nogroups
@@ -39,12 +39,10 @@ shell none
39tracelog 39tracelog
40 40
41# disable-mnt 41# disable-mnt
42# private
43private-bin ocenaudio 42private-bin ocenaudio
44private-cache 43private-cache
45private-dev 44private-dev
46private-etc alternatives,asound.conf,fonts,ld.so.cache,pulse 45private-etc alternatives,asound.conf,fonts,ld.so.cache,pulse
47# private-lib
48private-tmp 46private-tmp
49 47
50# memory-deny-write-execute - breaks on Arch 48# memory-deny-write-execute - breaks on Arch
diff --git a/etc/onionshare-gui.profile b/etc/onionshare-gui.profile
index 3ee78c59d..5bfcd0527 100644
--- a/etc/onionshare-gui.profile
+++ b/etc/onionshare-gui.profile
@@ -8,9 +8,7 @@ include globals.local
8noblacklist ${HOME}/.config/onionshare 8noblacklist ${HOME}/.config/onionshare
9 9
10# Allow python (blacklisted by disable-interpreters.inc) 10# Allow python (blacklisted by disable-interpreters.inc)
11noblacklist ${PATH}/python3* 11include allow-python3.inc
12noblacklist /usr/lib/python3*
13noblacklist /usr/local/lib/python3*
14 12
15include disable-common.inc 13include disable-common.inc
16include disable-devel.inc 14include disable-devel.inc
diff --git a/etc/openshot.profile b/etc/openshot.profile
index cfda1d0ce..0222243ed 100644
--- a/etc/openshot.profile
+++ b/etc/openshot.profile
@@ -10,12 +10,8 @@ noblacklist ${HOME}/.openshot
10noblacklist ${HOME}/.openshot_qt 10noblacklist ${HOME}/.openshot_qt
11 11
12# Allow python (blacklisted by disable-interpreters.inc) 12# Allow python (blacklisted by disable-interpreters.inc)
13noblacklist ${PATH}/python2* 13include allow-python2.inc
14noblacklist ${PATH}/python3* 14include allow-python3.inc
15noblacklist /usr/lib/python2*
16noblacklist /usr/lib/python3*
17noblacklist /usr/local/lib/python2*
18noblacklist /usr/local/lib/python3*
19 15
20include disable-common.inc 16include disable-common.inc
21include disable-devel.inc 17include disable-devel.inc
diff --git a/etc/orage.profile b/etc/orage.profile
index 2c55ab909..4e12892d6 100644
--- a/etc/orage.profile
+++ b/etc/orage.profile
@@ -24,7 +24,7 @@ nodvd
24nogroups 24nogroups
25nonewprivs 25nonewprivs
26noroot 26noroot
27nosound 27# nosound - calendar application, It must be able to play sound to wake you up.
28notv 28notv
29nou2f 29nou2f
30novideo 30novideo
diff --git a/etc/pandoc.profile b/etc/pandoc.profile
new file mode 100644
index 000000000..687a31cc2
--- /dev/null
+++ b/etc/pandoc.profile
@@ -0,0 +1,49 @@
1# Firejail profile for pandoc
2# Description: general markup converter
3# This file is overwritten after every install/update
4quiet
5# Persistent local customizations
6include pandoc.local
7# Persistent global definitions
8include globals.local
9
10noblacklist ${DOCUMENTS}
11
12include disable-common.inc
13include disable-devel.inc
14include disable-exec.inc
15include disable-interpreters.inc
16include disable-passwdmgr.inc
17include disable-programs.inc
18include disable-xdg.inc
19
20# breaks pdf output
21#include whitelist-var-common.inc
22
23apparmor
24caps.drop all
25ipc-namespace
26machine-id
27net none
28no3d
29nodbus
30nodvd
31nogroups
32nonewprivs
33noroot
34nosound
35notv
36nou2f
37novideo
38protocol unix
39seccomp
40shell none
41tracelog
42
43disable-mnt
44private-bin context,latex,mktexfmt,pandoc,pdflatex,pdfroff,prince,weasyprint,wkhtmltopdf
45private-cache
46private-dev
47private-tmp
48
49memory-deny-write-execute
diff --git a/etc/pdfsam.profile b/etc/pdfsam.profile
index 98dcce0b7..bd3592f48 100644
--- a/etc/pdfsam.profile
+++ b/etc/pdfsam.profile
@@ -9,11 +9,8 @@ include globals.local
9noblacklist ${HOME}/.java 9noblacklist ${HOME}/.java
10noblacklist ${DOCUMENTS} 10noblacklist ${DOCUMENTS}
11 11
12# Allow access to java 12# Allow java (blacklisted by disable-devel.inc)
13noblacklist ${PATH}/java 13include allow-java.inc
14noblacklist /usr/lib/java
15noblacklist /etc/java
16noblacklist /usr/share/java
17 14
18include disable-common.inc 15include disable-common.inc
19include disable-devel.inc 16include disable-devel.inc
diff --git a/etc/picard.profile b/etc/picard.profile
index b756ed629..15fc7a454 100644
--- a/etc/picard.profile
+++ b/etc/picard.profile
@@ -11,12 +11,8 @@ noblacklist ${HOME}/.config/MusicBrainz
11noblacklist ${MUSIC} 11noblacklist ${MUSIC}
12 12
13# Allow python (blacklisted by disable-interpreters.inc) 13# Allow python (blacklisted by disable-interpreters.inc)
14noblacklist ${PATH}/python2* 14include allow-python2.inc
15noblacklist ${PATH}/python3* 15include allow-python3.inc
16noblacklist /usr/lib/python2*
17noblacklist /usr/lib/python3*
18noblacklist /usr/local/lib/python2*
19noblacklist /usr/local/lib/python3*
20 16
21include disable-common.inc 17include disable-common.inc
22include disable-devel.inc 18include disable-devel.inc
diff --git a/etc/pidgin.profile b/etc/pidgin.profile
index bdd5404f5..299f807af 100644
--- a/etc/pidgin.profile
+++ b/etc/pidgin.profile
@@ -6,11 +6,11 @@ include pidgin.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9noblacklist ${HOME}/.purple
10
11ignore noexec ${RUNUSER} 9ignore noexec ${RUNUSER}
12ignore noexec /dev/shm 10ignore noexec /dev/shm
13 11
12noblacklist ${HOME}/.purple
13
14include disable-common.inc 14include disable-common.inc
15include disable-devel.inc 15include disable-devel.inc
16include disable-exec.inc 16include disable-exec.inc
diff --git a/etc/pithos.profile b/etc/pithos.profile
index d6a0a7822..62050eb55 100644
--- a/etc/pithos.profile
+++ b/etc/pithos.profile
@@ -7,12 +7,8 @@ include pithos.local
7include globals.local 7include globals.local
8 8
9# Allow python (blacklisted by disable-interpreters.inc) 9# Allow python (blacklisted by disable-interpreters.inc)
10noblacklist ${PATH}/python2* 10include allow-python2.inc
11noblacklist ${PATH}/python3* 11include allow-python3.inc
12noblacklist /usr/lib/python2*
13noblacklist /usr/lib/python3*
14noblacklist /usr/local/lib/python2*
15noblacklist /usr/local/lib/python3*
16 12
17include disable-common.inc 13include disable-common.inc
18include disable-devel.inc 14include disable-devel.inc
diff --git a/etc/pitivi.profile b/etc/pitivi.profile
index 83f5ccbb9..89a6a020b 100644
--- a/etc/pitivi.profile
+++ b/etc/pitivi.profile
@@ -10,12 +10,8 @@ include globals.local
10noblacklist ${HOME}/.config/pitivi 10noblacklist ${HOME}/.config/pitivi
11 11
12# Allow python (blacklisted by disable-interpreters.inc) 12# Allow python (blacklisted by disable-interpreters.inc)
13noblacklist ${PATH}/python2* 13include allow-python2.inc
14noblacklist ${PATH}/python3* 14include allow-python3.inc
15noblacklist /usr/lib/python2*
16noblacklist /usr/lib/python3*
17noblacklist /usr/local/lib/python2*
18noblacklist /usr/local/lib/python3*
19 15
20include disable-common.inc 16include disable-common.inc
21include disable-devel.inc 17include disable-devel.inc
diff --git a/etc/playonlinux.profile b/etc/playonlinux.profile
index 2f287223b..03091af6d 100644
--- a/etc/playonlinux.profile
+++ b/etc/playonlinux.profile
@@ -16,19 +16,11 @@ noblacklist ${HOME}/.PlayOnLinux
16noblacklist ${PATH}/nc 16noblacklist ${PATH}/nc
17 17
18# Allow python (blacklisted by disable-interpreters.inc) 18# Allow python (blacklisted by disable-interpreters.inc)
19noblacklist ${PATH}/python2* 19include allow-python2.inc
20noblacklist ${PATH}/python3* 20include allow-python3.inc
21noblacklist /usr/lib/python2*
22noblacklist /usr/lib/python3*
23noblacklist /usr/local/lib/python2*
24noblacklist /usr/local/lib/python3*
25 21
26# Allow perl (blacklisted by disable-interpreters.inc) 22# Allow perl (blacklisted by disable-interpreters.inc)
27noblacklist ${PATH}/cpan* 23include allow-perl.inc
28noblacklist ${PATH}/core_perl
29noblacklist ${PATH}/perl
30noblacklist /usr/lib/perl*
31noblacklist /usr/share/perl*
32 24
33include disable-common.inc 25include disable-common.inc
34include disable-devel.inc 26include disable-devel.inc
diff --git a/etc/pybitmessage.profile b/etc/pybitmessage.profile
index 28ab8caa6..3bce425d9 100644
--- a/etc/pybitmessage.profile
+++ b/etc/pybitmessage.profile
@@ -10,12 +10,8 @@ noblacklist /usr/local/sbin
10noblacklist /usr/sbin 10noblacklist /usr/sbin
11 11
12# Allow python (blacklisted by disable-interpreters.inc) 12# Allow python (blacklisted by disable-interpreters.inc)
13noblacklist ${PATH}/python2* 13include allow-python2.inc
14noblacklist ${PATH}/python3* 14include allow-python3.inc
15noblacklist /usr/lib/python2*
16noblacklist /usr/lib/python3*
17noblacklist /usr/local/lib/python2*
18noblacklist /usr/local/lib/python3*
19 15
20include disable-common.inc 16include disable-common.inc
21include disable-devel.inc 17include disable-devel.inc
diff --git a/etc/pycharm-community.profile b/etc/pycharm-community.profile
index 1a6f171c8..0531aee4a 100644
--- a/etc/pycharm-community.profile
+++ b/etc/pycharm-community.profile
@@ -10,11 +10,8 @@ noblacklist ${HOME}/.python-history
10noblacklist ${HOME}/.pythonrc.py 10noblacklist ${HOME}/.pythonrc.py
11noblacklist ${HOME}/.java 11noblacklist ${HOME}/.java
12 12
13# Allow access to java 13# Allow java (blacklisted by disable-devel.inc)
14noblacklist ${PATH}/java 14include allow-java.inc
15noblacklist /usr/lib/java
16noblacklist /etc/java
17noblacklist /usr/share/java
18 15
19include disable-common.inc 16include disable-common.inc
20include disable-devel.inc 17include disable-devel.inc
diff --git a/etc/qbittorrent.profile b/etc/qbittorrent.profile
index b0a6a0016..82e237d54 100644
--- a/etc/qbittorrent.profile
+++ b/etc/qbittorrent.profile
@@ -12,12 +12,8 @@ noblacklist ${HOME}/.config/qBittorrentrc
12noblacklist ${HOME}/.local/share/data/qBittorrent 12noblacklist ${HOME}/.local/share/data/qBittorrent
13 13
14# Allow python (blacklisted by disable-interpreters.inc) 14# Allow python (blacklisted by disable-interpreters.inc)
15noblacklist ${PATH}/python2* 15include allow-python2.inc
16noblacklist ${PATH}/python3* 16include allow-python3.inc
17noblacklist /usr/lib/python2*
18noblacklist /usr/lib/python3*
19noblacklist /usr/local/lib/python2*
20noblacklist /usr/local/lib/python3*
21 17
22include disable-common.inc 18include disable-common.inc
23include disable-devel.inc 19include disable-devel.inc
@@ -61,4 +57,4 @@ private-dev
61# private-lib - problems on Arch 57# private-lib - problems on Arch
62private-tmp 58private-tmp
63 59
64# memory-deny-write-execute - problems on Arch, see #1690 on GitHub repo 60# memory-deny-write-execute - problems on Arch, see #1690 on GitHub repo
diff --git a/etc/qgis.profile b/etc/qgis.profile
new file mode 100644
index 000000000..70788b207
--- /dev/null
+++ b/etc/qgis.profile
@@ -0,0 +1,57 @@
1# Firejail profile for qgis
2# Description: GIS application
3# This file is overwritten after every install/update
4# Persistent local customizations
5include qgis.local
6# Persistent global definitions
7include globals.local
8
9noblacklist ${HOME}/.config/QGIS
10noblacklist ${HOME}/.local/share/QGIS
11noblacklist ${HOME}/.qgis2
12noblacklist ${DOCUMENTS}
13
14# Allow python (blacklisted by disable-interpreters.inc)
15include allow-python3.inc
16
17include disable-common.inc
18include disable-devel.inc
19include disable-exec.inc
20include disable-interpreters.inc
21include disable-passwdmgr.inc
22include disable-programs.inc
23include disable-xdg.inc
24
25mkdir ${HOME}/.local/share/QGIS
26mkdir ${HOME}/.qgis2
27mkdir ${HOME}/.config/QGIS
28whitelist ${HOME}/.local/share/QGIS
29whitelist ${HOME}/.qgis2
30whitelist ${HOME}/.config/QGIS
31whitelist ${DOCUMENTS}
32include whitelist-common.inc
33include whitelist-var-common.inc
34
35caps.drop all
36netfilter
37machine-id
38nodbus
39nodvd
40nogroups
41nonewprivs
42noroot
43nosound
44notv
45nou2f
46novideo
47# blacklisting of mbind system calls breaks old version
48seccomp.drop @cpu-emulation,@debug,@obsolete,@privileged,set_mempolicy,migrate_pages,move_pages,open_by_handle_at,name_to_handle_at,ioprio_set,ni_syscall,syslog,fanotify_init,kcmp,add_key,request_key,keyctl,io_setup,io_destroy,io_getevents,io_submit,io_cancel,remap_file_pages,vmsplice,umount,userfaultfd,mincore
49protocol unix,inet,inet6,netlink
50shell none
51tracelog
52
53disable-mnt
54private-cache
55private-dev
56private-etc alternatives,ca-certificates,crypto-policies,fonts,machine-id,pki,resolv.conf,ssl,QGIS,QGIS.conf,Trolltech.conf
57private-tmp
diff --git a/etc/quiterss.profile b/etc/quiterss.profile
index 41c84425b..e2a3c9c23 100644
--- a/etc/quiterss.profile
+++ b/etc/quiterss.profile
@@ -22,6 +22,8 @@ mkdir ${HOME}/.cache/QuiteRss
22mkdir ${HOME}/.config/QuiteRss 22mkdir ${HOME}/.config/QuiteRss
23mkdir ${HOME}/.local/share/data 23mkdir ${HOME}/.local/share/data
24mkdir ${HOME}/.local/share/data/QuiteRss 24mkdir ${HOME}/.local/share/data/QuiteRss
25mkdir ${HOME}/.local/share/QuiteRss
26mkfile ${HOME}/quiterssfeeds.opml
25whitelist ${HOME}/.cache/QuiteRss 27whitelist ${HOME}/.cache/QuiteRss
26whitelist ${HOME}/.config/QuiteRss/ 28whitelist ${HOME}/.config/QuiteRss/
27whitelist ${HOME}/.config/QuiteRssrc 29whitelist ${HOME}/.config/QuiteRssrc
diff --git a/etc/qupzilla.profile b/etc/qupzilla.profile
index 1b23b2baf..954b1a3b4 100644
--- a/etc/qupzilla.profile
+++ b/etc/qupzilla.profile
@@ -15,6 +15,8 @@ include disable-interpreters.inc
15include disable-passwdmgr.inc 15include disable-passwdmgr.inc
16include disable-programs.inc 16include disable-programs.inc
17 17
18mkdir ${HOME}/.cache/qupzilla
19mkdir ${HOME}/.config/qupzilla
18whitelist ${DOWNLOADS} 20whitelist ${DOWNLOADS}
19whitelist ${HOME}/.cache/qupzilla 21whitelist ${HOME}/.cache/qupzilla
20whitelist ${HOME}/.config/qupzilla 22whitelist ${HOME}/.config/qupzilla
diff --git a/etc/qutebrowser.profile b/etc/qutebrowser.profile
index 9e3853a09..e556ecf1f 100644
--- a/etc/qutebrowser.profile
+++ b/etc/qutebrowser.profile
@@ -9,18 +9,13 @@ include globals.local
9noblacklist ${HOME}/.cache/qutebrowser 9noblacklist ${HOME}/.cache/qutebrowser
10noblacklist ${HOME}/.config/qutebrowser 10noblacklist ${HOME}/.config/qutebrowser
11noblacklist ${HOME}/.local/share/qutebrowser 11noblacklist ${HOME}/.local/share/qutebrowser
12
13# Allow python (blacklisted by disable-interpreters.inc)
14noblacklist ${PATH}/python2*
15noblacklist ${PATH}/python3*
16noblacklist /usr/lib/python2*
17noblacklist /usr/lib/python3*
18noblacklist /usr/local/lib/python2*
19noblacklist /usr/local/lib/python3*
20
21# with >=llvm-4 mesa drivers need llvm stuff 12# with >=llvm-4 mesa drivers need llvm stuff
22noblacklist /usr/lib/llvm* 13noblacklist /usr/lib/llvm*
23 14
15# Allow python (blacklisted by disable-interpreters.inc)
16include allow-python2.inc
17include allow-python3.inc
18
24include disable-common.inc 19include disable-common.inc
25include disable-devel.inc 20include disable-devel.inc
26include disable-interpreters.inc 21include disable-interpreters.inc
diff --git a/etc/ranger.profile b/etc/ranger.profile
index 1e50ca9fa..13e8911ea 100644
--- a/etc/ranger.profile
+++ b/etc/ranger.profile
@@ -11,18 +11,11 @@ noblacklist ${HOME}/.config/ranger
11noblacklist ${HOME}/.nanorc 11noblacklist ${HOME}/.nanorc
12 12
13# Allow python (blacklisted by disable-interpreters.inc) 13# Allow python (blacklisted by disable-interpreters.inc)
14noblacklist ${PATH}/python2* 14include allow-python2.inc
15noblacklist ${PATH}/python3* 15include allow-python3.inc
16noblacklist /usr/lib/python2*
17noblacklist /usr/lib/python3*
18noblacklist /usr/local/lib/python2*
19noblacklist /usr/local/lib/python3*
20 16
21# Allow perl 17# Allow perl
22# noblacklist ${PATH}/cpan* 18include allow-perl.inc
23noblacklist ${PATH}/perl
24noblacklist /usr/lib/perl*
25noblacklist /usr/share/perl*
26 19
27include disable-common.inc 20include disable-common.inc
28include disable-devel.inc 21include disable-devel.inc
diff --git a/etc/ricochet.profile b/etc/ricochet.profile
index 3cb30c459..fc770d62d 100644
--- a/etc/ricochet.profile
+++ b/etc/ricochet.profile
@@ -5,7 +5,6 @@ include ricochet.local
5# Persistent global definitions 5# Persistent global definitions
6include globals.local 6include globals.local
7 7
8
9noblacklist ${HOME}/.local/share/Ricochet 8noblacklist ${HOME}/.local/share/Ricochet
10 9
11include disable-common.inc 10include disable-common.inc
@@ -15,6 +14,7 @@ include disable-interpreters.inc
15include disable-passwdmgr.inc 14include disable-passwdmgr.inc
16include disable-programs.inc 15include disable-programs.inc
17 16
17mkdir ${HOME}/.local/share/Ricochet
18whitelist ${DOWNLOADS} 18whitelist ${DOWNLOADS}
19whitelist ${HOME}/.local/share/Ricochet 19whitelist ${HOME}/.local/share/Ricochet
20include whitelist-common.inc 20include whitelist-common.inc
diff --git a/etc/rocketchat.profile b/etc/rocketchat.profile
index c95bc3c3d..8170c62e7 100644
--- a/etc/rocketchat.profile
+++ b/etc/rocketchat.profile
@@ -7,6 +7,7 @@ include globals.local
7 7
8noblacklist ${HOME}/.config/Rocket.Chat 8noblacklist ${HOME}/.config/Rocket.Chat
9 9
10mkdir ${HOME}/.config/Rocket.Chat
10whitelist ${HOME}/.config/Rocket.Chat 11whitelist ${HOME}/.config/Rocket.Chat
11include whitelist-common.inc 12include whitelist-common.inc
12 13
diff --git a/etc/scribus.profile b/etc/scribus.profile
index d8dc7b0e0..c50e0861c 100644
--- a/etc/scribus.profile
+++ b/etc/scribus.profile
@@ -27,12 +27,8 @@ noblacklist ${DOCUMENTS}
27noblacklist ${PICTURES} 27noblacklist ${PICTURES}
28 28
29# Allow python (blacklisted by disable-interpreters.inc) 29# Allow python (blacklisted by disable-interpreters.inc)
30noblacklist ${PATH}/python2* 30include allow-python2.inc
31noblacklist ${PATH}/python3* 31include allow-python3.inc
32noblacklist /usr/lib/python2*
33noblacklist /usr/lib/python3*
34noblacklist /usr/local/lib/python2*
35noblacklist /usr/local/lib/python3*
36 32
37include disable-common.inc 33include disable-common.inc
38include disable-devel.inc 34include disable-devel.inc
diff --git a/etc/sdat2img.profile b/etc/sdat2img.profile
index 485326fcc..176842c44 100644
--- a/etc/sdat2img.profile
+++ b/etc/sdat2img.profile
@@ -7,12 +7,8 @@ include sdat2img.local
7include globals.local 7include globals.local
8 8
9# Allow python (blacklisted by disable-interpreters.inc) 9# Allow python (blacklisted by disable-interpreters.inc)
10noblacklist ${PATH}/python2* 10include allow-python2.inc
11noblacklist ${PATH}/python3* 11include allow-python3.inc
12noblacklist /usr/lib/python2*
13noblacklist /usr/lib/python3*
14noblacklist /usr/local/lib/python2*
15noblacklist /usr/local/lib/python3*
16 12
17include disable-common.inc 13include disable-common.inc
18include disable-devel.inc 14include disable-devel.inc
diff --git a/etc/seahorse.profile b/etc/seahorse.profile
index cd9f6c767..7baae2603 100644
--- a/etc/seahorse.profile
+++ b/etc/seahorse.profile
@@ -32,6 +32,7 @@ include disable-interpreters.inc
32include disable-passwdmgr.inc 32include disable-passwdmgr.inc
33include disable-programs.inc 33include disable-programs.inc
34include disable-xdg.inc 34include disable-xdg.inc
35
35include whitelist-common.inc 36include whitelist-common.inc
36include whitelist-var-common.inc 37include whitelist-var-common.inc
37 38
@@ -50,7 +51,7 @@ nou2f
50novideo 51novideo
51protocol unix,inet,inet6 52protocol unix,inet,inet6
52seccomp 53seccomp
53# shell none - causes gpg to hang 54shell none
54tracelog 55tracelog
55 56
56disable-mnt 57disable-mnt
diff --git a/etc/seamonkey.profile b/etc/seamonkey.profile
index d92c62a52..ca74efe68 100644
--- a/etc/seamonkey.profile
+++ b/etc/seamonkey.profile
@@ -18,6 +18,8 @@ include disable-programs.inc
18 18
19mkdir ${HOME}/.cache/mozilla 19mkdir ${HOME}/.cache/mozilla
20mkdir ${HOME}/.mozilla 20mkdir ${HOME}/.mozilla
21mkdir ${HOME}/.pki
22mkdir ${HOME}/.local/share/pki
21whitelist ${DOWNLOADS} 23whitelist ${DOWNLOADS}
22whitelist ${HOME}/.cache/gnome-mplayer/plugin 24whitelist ${HOME}/.cache/gnome-mplayer/plugin
23whitelist ${HOME}/.cache/mozilla 25whitelist ${HOME}/.cache/mozilla
diff --git a/etc/server.profile b/etc/server.profile
index 686268a18..6e077ff84 100644
--- a/etc/server.profile
+++ b/etc/server.profile
@@ -9,12 +9,12 @@ include globals.local
9# it allows /sbin and /usr/sbin directories - this is where servers are installed 9# it allows /sbin and /usr/sbin directories - this is where servers are installed
10# depending on your usage, you can enable some of the commands below: 10# depending on your usage, you can enable some of the commands below:
11 11
12blacklist /tmp/.X11-unix
13
14noblacklist /sbin 12noblacklist /sbin
15noblacklist /usr/sbin 13noblacklist /usr/sbin
16# noblacklist /var/opt 14# noblacklist /var/opt
17 15
16blacklist /tmp/.X11-unix
17
18include disable-common.inc 18include disable-common.inc
19# include disable-devel.inc 19# include disable-devel.inc
20# include disable-exec.inc 20# include disable-exec.inc
diff --git a/etc/signal-desktop.profile b/etc/signal-desktop.profile
index 008cd218e..04696a918 100644
--- a/etc/signal-desktop.profile
+++ b/etc/signal-desktop.profile
@@ -5,10 +5,13 @@ include signal-desktop.local
5# Persistent global definitions 5# Persistent global definitions
6include globals.local 6include globals.local
7 7
8ignore noexec /tmp
9
8noblacklist ${HOME}/.config/Signal 10noblacklist ${HOME}/.config/Signal
9 11
10include disable-common.inc 12include disable-common.inc
11include disable-devel.inc 13include disable-devel.inc
14include disable-exec.inc
12include disable-interpreters.inc 15include disable-interpreters.inc
13include disable-programs.inc 16include disable-programs.inc
14include disable-passwdmgr.inc 17include disable-passwdmgr.inc
@@ -34,5 +37,3 @@ shell none
34disable-mnt 37disable-mnt
35private-dev 38private-dev
36private-tmp 39private-tmp
37
38noexec ${HOME}
diff --git a/etc/skypeforlinux.profile b/etc/skypeforlinux.profile
index ad200be37..eae7dada0 100644
--- a/etc/skypeforlinux.profile
+++ b/etc/skypeforlinux.profile
@@ -5,10 +5,14 @@ include skypeforlinux.local
5# Persistent global definitions 5# Persistent global definitions
6include globals.local 6include globals.local
7 7
8# breaks Skype
9ignore noexec /tmp
10
8noblacklist ${HOME}/.config/skypeforlinux 11noblacklist ${HOME}/.config/skypeforlinux
9 12
10include disable-common.inc 13include disable-common.inc
11include disable-devel.inc 14include disable-devel.inc
15include disable-exec.inc
12include disable-interpreters.inc 16include disable-interpreters.inc
13include disable-passwdmgr.inc 17include disable-passwdmgr.inc
14include disable-programs.inc 18include disable-programs.inc
@@ -28,6 +32,3 @@ disable-mnt
28private-cache 32private-cache
29# private-dev - needs /dev/disk 33# private-dev - needs /dev/disk
30private-tmp 34private-tmp
31
32noexec ${HOME}
33# noexec /tmp - breaks Skype
diff --git a/etc/slack.profile b/etc/slack.profile
index ed76be373..53baf5f40 100644
--- a/etc/slack.profile
+++ b/etc/slack.profile
@@ -13,7 +13,6 @@ include disable-interpreters.inc
13include disable-passwdmgr.inc 13include disable-passwdmgr.inc
14include disable-programs.inc 14include disable-programs.inc
15 15
16mkdir ${HOME}/.config
17mkdir ${HOME}/.config/Slack 16mkdir ${HOME}/.config/Slack
18whitelist ${HOME}/.config/Slack 17whitelist ${HOME}/.config/Slack
19whitelist ${DOWNLOADS} 18whitelist ${DOWNLOADS}
diff --git a/etc/slashem.profile b/etc/slashem.profile
index 011698e1f..8c84180d7 100644
--- a/etc/slashem.profile
+++ b/etc/slashem.profile
@@ -6,7 +6,6 @@ include slashem.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9
10noblacklist /var/games/slashem 9noblacklist /var/games/slashem
11 10
12include disable-common.inc 11include disable-common.inc
diff --git a/etc/smplayer.profile b/etc/smplayer.profile
index 5ae498ab2..0363a2475 100644
--- a/etc/smplayer.profile
+++ b/etc/smplayer.profile
@@ -12,12 +12,8 @@ noblacklist ${MUSIC}
12noblacklist ${VIDEOS} 12noblacklist ${VIDEOS}
13 13
14# Allow python (blacklisted by disable-interpreters.inc) 14# Allow python (blacklisted by disable-interpreters.inc)
15noblacklist ${PATH}/python2* 15include allow-python2.inc
16noblacklist ${PATH}/python3* 16include allow-python3.inc
17noblacklist /usr/lib/python2*
18noblacklist /usr/lib/python3*
19noblacklist /usr/local/lib/python2*
20noblacklist /usr/local/lib/python3*
21 17
22include disable-common.inc 18include disable-common.inc
23include disable-devel.inc 19include disable-devel.inc
diff --git a/etc/soundconverter.profile b/etc/soundconverter.profile
index 4d6e80840..d875146de 100644
--- a/etc/soundconverter.profile
+++ b/etc/soundconverter.profile
@@ -9,12 +9,8 @@ include globals.local
9noblacklist ${MUSIC} 9noblacklist ${MUSIC}
10 10
11# Allow python (blacklisted by disable-interpreters.inc) 11# Allow python (blacklisted by disable-interpreters.inc)
12noblacklist ${PATH}/python2* 12include allow-python2.inc
13noblacklist ${PATH}/python3* 13include allow-python3.inc
14noblacklist /usr/lib/python2*
15noblacklist /usr/lib/python3*
16noblacklist /usr/local/lib/python2*
17noblacklist /usr/local/lib/python3*
18 14
19include disable-common.inc 15include disable-common.inc
20include disable-devel.inc 16include disable-devel.inc
diff --git a/etc/spectre-meltdown-checker.profile b/etc/spectre-meltdown-checker.profile
index 74582dd2f..edbe0e772 100644
--- a/etc/spectre-meltdown-checker.profile
+++ b/etc/spectre-meltdown-checker.profile
@@ -11,12 +11,8 @@ include globals.local
11noblacklist ${PATH}/mount 11noblacklist ${PATH}/mount
12noblacklist ${PATH}/umount 12noblacklist ${PATH}/umount
13 13
14# Allow access to perl 14# Allow perl (blacklisted by disable-interpreters.inc)
15noblacklist ${PATH}/cpan* 15include allow-perl.inc
16noblacklist ${PATH}/core_perl
17noblacklist ${PATH}/perl
18noblacklist /usr/lib/perl*
19noblacklist /usr/share/perl*
20 16
21include disable-common.inc 17include disable-common.inc
22include disable-devel.inc 18include disable-devel.inc
diff --git a/etc/spotify.profile b/etc/spotify.profile
index 6f7f6ec85..2d5c4a48f 100644
--- a/etc/spotify.profile
+++ b/etc/spotify.profile
@@ -5,15 +5,12 @@ include spotify.local
5# Persistent global definitions 5# Persistent global definitions
6include globals.local 6include globals.local
7 7
8blacklist ${HOME}/.bashrc
9blacklist /lost+found
10blacklist /sbin
11blacklist /srv
12
13noblacklist ${HOME}/.cache/spotify 8noblacklist ${HOME}/.cache/spotify
14noblacklist ${HOME}/.config/spotify 9noblacklist ${HOME}/.config/spotify
15noblacklist ${HOME}/.local/share/spotify 10noblacklist ${HOME}/.local/share/spotify
16 11
12blacklist ${HOME}/.bashrc
13
17include disable-common.inc 14include disable-common.inc
18include disable-devel.inc 15include disable-devel.inc
19include disable-exec.inc 16include disable-exec.inc
@@ -49,5 +46,6 @@ private-bin spotify,bash,sh,zenity
49private-dev 46private-dev
50private-etc alternatives,fonts,group,ld.so.cache,machine-id,pulse,resolv.conf,hosts,nsswitch.conf,host.conf,ca-certificates,ssl,pki,crypto-policies 47private-etc alternatives,fonts,group,ld.so.cache,machine-id,pulse,resolv.conf,hosts,nsswitch.conf,host.conf,ca-certificates,ssl,pki,crypto-policies
51private-opt spotify 48private-opt spotify
49private-srv none
52private-tmp 50private-tmp
53 51
diff --git a/etc/ssh-agent.profile b/etc/ssh-agent.profile
index 8aafca8aa..9af747b62 100644
--- a/etc/ssh-agent.profile
+++ b/etc/ssh-agent.profile
@@ -6,12 +6,12 @@ include ssh-agent.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9blacklist /tmp/.X11-unix
10
11noblacklist /etc/ssh 9noblacklist /etc/ssh
12noblacklist /tmp/ssh-* 10noblacklist /tmp/ssh-*
13noblacklist ${HOME}/.ssh 11noblacklist ${HOME}/.ssh
14 12
13blacklist /tmp/.X11-unix
14
15include disable-common.inc 15include disable-common.inc
16include disable-passwdmgr.inc 16include disable-passwdmgr.inc
17include disable-programs.inc 17include disable-programs.inc
diff --git a/etc/start-tor-browser.desktop.profile b/etc/start-tor-browser.desktop.profile
index a61038157..d5d7a17e4 100644
--- a/etc/start-tor-browser.desktop.profile
+++ b/etc/start-tor-browser.desktop.profile
@@ -3,7 +3,6 @@
3# Persistent local customizations 3# Persistent local customizations
4include start-tor-browser.desktop.local 4include start-tor-browser.desktop.local
5 5
6
7noblacklist ${HOME}/.tor-browser-* 6noblacklist ${HOME}/.tor-browser-*
8noblacklist ${HOME}/.tor-browser_* 7noblacklist ${HOME}/.tor-browser_*
9 8
diff --git a/etc/steam.profile b/etc/steam.profile
index 8f08b18f0..5ab600bfb 100644
--- a/etc/steam.profile
+++ b/etc/steam.profile
@@ -25,19 +25,12 @@ noblacklist /usr/lib/llvm*
25# needed for STEAM_RUNTIME_PREFER_HOST_LIBRARIES=1 to work 25# needed for STEAM_RUNTIME_PREFER_HOST_LIBRARIES=1 to work
26noblacklist /sbin 26noblacklist /sbin
27 27
28# Allow access to java 28# Allow java (blacklisted by disable-devel.inc)
29noblacklist ${PATH}/java 29include allow-java.inc
30noblacklist /usr/lib/java
31noblacklist /etc/java
32noblacklist /usr/share/java
33 30
34# Allow python (blacklisted by disable-interpreters.inc) 31# Allow python (blacklisted by disable-interpreters.inc)
35noblacklist ${PATH}/python2* 32include allow-python2.inc
36noblacklist ${PATH}/python3* 33include allow-python3.inc
37noblacklist /usr/lib/python2*
38noblacklist /usr/lib/python3*
39noblacklist /usr/local/lib/python2*
40noblacklist /usr/local/lib/python3*
41 34
42include disable-common.inc 35include disable-common.inc
43include disable-devel.inc 36include disable-devel.inc
diff --git a/etc/strings.profile b/etc/strings.profile
index 0caecdf7b..ace0d9351 100644
--- a/etc/strings.profile
+++ b/etc/strings.profile
@@ -4,30 +4,43 @@ quiet
4# Persistent local customizations 4# Persistent local customizations
5include strings.local 5include strings.local
6# Persistent global definitions 6# Persistent global definitions
7# added by included profile 7include globals.local
8#include globals.local
9 8
10blacklist /tmp/.X11-unix 9blacklist /tmp/.X11-unix
10
11include disable-common.inc
12include disable-devel.inc
11include disable-exec.inc 13include disable-exec.inc
14include disable-interpreters.inc
15include disable-passwdmgr.inc
16include disable-programs.inc
12 17
13ignore noroot 18apparmor
19caps.drop all
20ipc-namespace
21machine-id
14net none 22net none
15no3d 23no3d
16nodbus 24nodbus
17nodvd 25nodvd
26nogroups
27nonewprivs
28#noroot
18nosound 29nosound
19notv 30notv
20nou2f 31nou2f
21novideo 32novideo
33protocol unix
34seccomp
22shell none 35shell none
23tracelog 36tracelog
24 37
38#private
25private-bin strings 39private-bin strings
26private-cache 40private-cache
27private-dev 41private-dev
28private-etc alternatives 42private-etc alternatives
29private-lib libfakeroot 43private-lib libfakeroot
44private-tmp
30 45
31memory-deny-write-execute 46memory-deny-write-execute
32
33include default.profile
diff --git a/etc/subdownloader.profile b/etc/subdownloader.profile
index c07131893..b55300c88 100644
--- a/etc/subdownloader.profile
+++ b/etc/subdownloader.profile
@@ -10,12 +10,8 @@ noblacklist ${HOME}/.config/SubDownloader
10noblacklist ${VIDEOS} 10noblacklist ${VIDEOS}
11 11
12# Allow python (blacklisted by disable-interpreters.inc) 12# Allow python (blacklisted by disable-interpreters.inc)
13noblacklist ${PATH}/python2* 13include allow-python2.inc
14noblacklist ${PATH}/python3* 14include allow-python3.inc
15noblacklist /usr/lib/python2*
16noblacklist /usr/lib/python3*
17noblacklist /usr/local/lib/python2*
18noblacklist /usr/local/lib/python3*
19 15
20include disable-common.inc 16include disable-common.inc
21include disable-devel.inc 17include disable-devel.inc
diff --git a/etc/surf.profile b/etc/surf.profile
index 0504b5fe5..5f116fd0c 100644
--- a/etc/surf.profile
+++ b/etc/surf.profile
@@ -15,6 +15,7 @@ include disable-passwdmgr.inc
15include disable-programs.inc 15include disable-programs.inc
16 16
17mkdir ${HOME}/.surf 17mkdir ${HOME}/.surf
18whitelist ${HOME}/.surf
18whitelist ${DOWNLOADS} 19whitelist ${DOWNLOADS}
19include whitelist-common.inc 20include whitelist-common.inc
20 21
diff --git a/etc/sysprof.profile b/etc/sysprof.profile
index 3cfea5c5e..e978e03f2 100644
--- a/etc/sysprof.profile
+++ b/etc/sysprof.profile
@@ -24,7 +24,7 @@ no3d
24nodvd 24nodvd
25nogroups 25nogroups
26nonewprivs 26nonewprivs
27# Ubuntu 16.04 version needs root privileges - uncomment if you don't use that 27# Ubuntu 16.04 version needs root privileges - uncomment or put in sysprof.local if you don't use that
28#noroot 28#noroot
29nosound 29nosound
30notv 30notv
diff --git a/etc/tar.profile b/etc/tar.profile
index 14fc00d21..b6a874217 100644
--- a/etc/tar.profile
+++ b/etc/tar.profile
@@ -5,17 +5,19 @@ quiet
5# Persistent local customizations 5# Persistent local customizations
6include tar.local 6include tar.local
7# Persistent global definitions 7# Persistent global definitions
8# added by included profile 8include globals.local
9#include globals.local
10 9
11blacklist /tmp/.X11-unix 10blacklist /tmp/.X11-unix
12 11
12include disable-common.inc
13include disable-devel.inc
13include disable-exec.inc 14include disable-exec.inc
14include disable-interpreters.inc 15include disable-interpreters.inc
15 16include disable-passwdmgr.inc
16ignore noroot 17include disable-programs.inc
17 18
18apparmor 19apparmor
20caps.drop all
19hostname tar 21hostname tar
20ipc-namespace 22ipc-namespace
21machine-id 23machine-id
@@ -24,10 +26,14 @@ no3d
24nodbus 26nodbus
25nodvd 27nodvd
26nogroups 28nogroups
29nonewprivs
30#noroot
27nosound 31nosound
28notv 32notv
29nou2f 33nou2f
30novideo 34novideo
35protocol unix
36seccomp
31shell none 37shell none
32tracelog 38tracelog
33 39
@@ -39,8 +45,5 @@ private-etc alternatives,passwd,group,localtime
39private-lib libfakeroot 45private-lib libfakeroot
40 46
41memory-deny-write-execute 47memory-deny-write-execute
42
43# Debian based distributions need this for 'dpkg --unpack' (incl. synaptic) 48# Debian based distributions need this for 'dpkg --unpack' (incl. synaptic)
44writable-var 49writable-var
45
46include default.profile
diff --git a/etc/templates/profile.template b/etc/templates/profile.template
new file mode 100644
index 000000000..16bf05cec
--- /dev/null
+++ b/etc/templates/profile.template
@@ -0,0 +1,139 @@
1# Firejail profile for PROGRAM_NAME
2# Description: DESCRIPTION
3# This file is overwritten after every install/update
4# --- CUT HERE ---
5# This is a generic template to help you with creation of profiles
6# for new programs. PRs welcome at https://github.com/netblue30/firejail/
7#
8# Rules to follow:
9# - lines with one # are often used in profiles
10# - lines with two ## are only needed in special situations
11# - make the profile as restrictive as possible while still keeping the program useful
12# (e. g. a program that is unable to save user's work is considered a bad practice)
13# - dedicate some time (based on how complex the application is) to profile testing before raising
14# a pull request
15# - keep the sections structure, use a single empty line as a separator
16# - entries within sections are alphabetically sorted
17# - consider putting binary into src/firecfg/firecfg.config (keep list sorted) but beware
18# to not do this for essential utilities as this may *break* your OS! (related discussion:
19# https://github.com/netblue30/firejail/issues/2507)
20# - remove this comment section and any generic comment past 'Persistent global definitions'
21#
22# Sections structure
23# HEADER
24# COMMENTS
25# IGNORES
26# NOBLACKLISTS
27# ALLOW INCLUDES
28# BLACKLISTS
29# DISABLE INCLUDES
30# MKDIRS
31# WHITELISTS
32# WHITELIST INCLUDES
33# OPTIONS (no*)
34# PRIVATE OPTIONS (disable-mnt, private-*)
35# SPECIAL OPTIONS (mdwx, noexec, read-only, join-or-start)
36# REDIRECT INCLUDES
37#
38# --- CUT HERE ---
39##quiet
40# Persistent local customizations
41#include PROFILE.local
42# Persistent global definitions
43#include globals.local
44
45##ignore noexec ${HOME}
46
47##blacklist PATH
48
49# It is common practice to add files/dirs containing program-specific configuration
50# (often ${HOME}/PROGRAMNAME or ${HOME}/.config/PROGRAMNAME) into disable-programs.inc
51# (keep list sorted) and then disable blacklisting below.
52# One way to retrieve the files a program uses is:
53# - launch binary with --private naming a sandbox
54# `firejail --name=test --ignore=private-bin [--profile=PROFILE] --private BINARY`
55# - work with the program, do some configuration changes and save them, open new documents,
56# install plugins if they exists, etc
57# - join the sandbox with bash:
58# `firejail --join=test bash`
59# - look what has changed and use that information to populate blacklist and whitelist sections
60# `ls -aR`
61#noblacklist PATH
62
63# Allow python (blacklisted by disable-interpreters.inc)
64#include allow-python2.inc
65#include allow-python3.inc
66
67# Allow perl (blacklisted by disable-interpreters.inc)
68#include allow-perl.inc
69
70# Allow java (blacklisted by disable-devel.inc)
71#include allow-java.inc
72
73# Allow lua (blacklisted by disable-interpreters.inc)
74include allow-lua.inc
75
76#include disable-common.inc
77#include disable-devel.inc
78#include disable-exec.inc
79#include disable-interpreters.inc
80#include disable-passwdmgr.inc
81#include disable-programs.inc
82#include disable-xdg.inc
83
84# This section often mirrors noblacklist section above. The idea is
85# that if a user feels too restricted (he's unable to save files into
86# home directory for instance) he/she may disable whitelist (nowhitelist)
87# in PROFILE.local but still be protected by BLACKLISTS section
88# (further explanation at https://github.com/netblue30/firejail/issues/1569)
89#mkdir PATH
90#mkfile PATH
91#whitelist PATH
92#include whitelist-common.inc
93#include whitelist-var-common.inc
94
95#apparmor
96#caps.drop all
97# CLI only
98##ipc-namespace
99#machine-id
100# 'net none' or 'netfilter'
101#net none
102#netfilter
103#no3d
104#nodbus
105#nodvd
106#nogroups
107#nonewprivs
108#noroot
109#nosound
110#notv
111#nou2f
112#novideo
113#protocol unix,inet,inet6,netlink
114#seccomp
115##seccomp.drop SYSCALLS
116#shell none
117#tracelog
118
119#disable-mnt
120##private
121#private-bin PROGRAMS
122#private-cache
123#private-dev
124#private-etc FILES
125# private-etc templates (see also #1734)
126# Internet: ca-certificates,crypto-policies,nsswitch.conf,pki,resolv.conf,ssl
127# Sound: alsa,asound.conf,machine-id,openal,pulse
128# GTK: dconf,fonts,gtk-2.0,gtk-3.0,pango,xdg
129# KDE/QT: fonts,kde4rc,kde5rc,ld.so.cache,machine-id,Trolltech.conf,xdg
130# GUIs: fonts
131# Alternatives: alternatives
132##private-lib LIBS
133##private-opt NAME
134#private-tmp
135
136##env VAR=VALUE
137#memory-deny-write-execute
138##read-only ${HOME}
139##join-or-start NAME
diff --git a/etc/templates/redirect_alias-profile.template b/etc/templates/redirect_alias-profile.template
new file mode 100644
index 000000000..0a0788e96
--- /dev/null
+++ b/etc/templates/redirect_alias-profile.template
@@ -0,0 +1,43 @@
1# Firejail profile for PROGRAM_NAME
2# Description: DESCRIPTION
3# This file is overwritten after every install/update
4# Persistent local customizations
5include PROFILE.local
6# Persistent global definitions
7# added by included profile
8#include globals.local
9#NOTE: let include globals.local commented
10
11# For more informations see profile.template
12
13# Ignore something that is in the included profile
14#ignore net none
15#ignore private-bin
16#ignore seccomp
17#...
18
19# Additional noblacklisting (if needed)
20#noblacklist PATH
21
22# Additional allow includes (if needed)
23
24# Additional blacklisting (if needed)
25#blacklist PATH
26
27# Additional whitelisting (if needed)
28#mkdir PATH
29##mkfile PATH
30#whitelist PATH
31
32# Additional options (if needed)
33
34# Additional private-options (if needed)
35# Add programs to private-bin (if needed)
36#private-bin PROGRAMS
37# Add files to private-etc (if needed)
38#private-etc FILES
39
40# Additional special options (if needed)
41
42# Redirect
43include PROFILE.profile
diff --git a/etc/templates/syscalls.txt b/etc/templates/syscalls.txt
new file mode 100644
index 000000000..2464df9ee
--- /dev/null
+++ b/etc/templates/syscalls.txt
@@ -0,0 +1,43 @@
1Hints for writing seccomp.drop lines
2====================================
3
4@clock=adjtimex,clock_adjtime,clock_settime,settimeofday,stime
5@module=delete_module,finit_module,init_module
6@raw-io=ioperm,iopl,pciconfig_iobase,pciconfig_read,pciconfig_write,s390_mmio_read,s390_mmio_write
7@reboot=kexec_file_load,kexec_load,reboot
8@swap=swapoff,swapon
9
10@privileged=@clock,@module,@raw-io,@reboot,@swap,acct,bpf,chroot,mount,nfsservctl,pivot_root,setdomainname,sethostname,umount2,vhangup
11
12@cpu-emulation=modify_ldt,subpage_prot,switch_endian,vm86,vm86old
13@debug=lookup_dcookie,perf_event_open,process_vm_writev,rtas,s390_runtime_instr,sys_debug_setcontext
14@obsolete=_sysctl,afs_syscall,bdflush,break,create_module,ftime,get_kernel_syms,getpmsg,gtty,lock,mpx,prof,profil,putpmsg,query_module,security,sgetmask,ssetmask,stty,sysfs,tuxcall,ulimit,uselib,ustat,vserver
15@resources=mbind,migrate_pages,move_pages,set_mempolicy
16
17@default=@cpu-emulation,@debug,@obsolete,@privileged,@resources,add_key,fanotify_init,io_cancel,io_destroy,io_getevents,ioprio_set,io_setup,io_submit,kcmp,keyctl,mincore,name_to_handle_at,ni_syscall,open_by_handle_at,remap_file_pages,request_key,syslog,umount,userfaultfd,vmsplice
18
19@default-nodebuggers=@default,personality,process_vm_readv,ptrace
20
21@default-keep=execve,prctl
22
23
24+---------+----------------+---------------+
25| @clock | @cpu-emulation | @default-keep |
26| @module | @debug | |
27| @raw-io | @obsolete | |
28| @reboot | @resources | |
29| @swap | | |
30+---------+----------------+---------------+
31 : :
32+-------------+ :
33| @privileged | :
34+-------------+ :
35 : :
36+----------+ :
37| @default |........:
38+----------+
39 :
40+----------------------+
41| @default-nodebuggers |
42+----------------------+
43
diff --git a/etc/terasology.profile b/etc/terasology.profile
index 43865b6fb..2a7212395 100644
--- a/etc/terasology.profile
+++ b/etc/terasology.profile
@@ -5,17 +5,17 @@ include terasology.local
5# Persistent global definitions 5# Persistent global definitions
6include globals.local 6include globals.local
7 7
8ignore noexec /tmp
9
8noblacklist ${HOME}/.java 10noblacklist ${HOME}/.java
9noblacklist ${HOME}/.local/share/terasology 11noblacklist ${HOME}/.local/share/terasology
10 12
11# Allow access to java 13# Allow java (blacklisted by disable-devel.inc)
12noblacklist ${PATH}/java 14include allow-java.inc
13noblacklist /usr/lib/java
14noblacklist /etc/java
15noblacklist /usr/share/java
16 15
17include disable-common.inc 16include disable-common.inc
18include disable-devel.inc 17include disable-devel.inc
18include disable-exec.inc
19include disable-interpreters.inc 19include disable-interpreters.inc
20include disable-passwdmgr.inc 20include disable-passwdmgr.inc
21include disable-programs.inc 21include disable-programs.inc
@@ -46,5 +46,3 @@ disable-mnt
46private-dev 46private-dev
47private-etc alternatives,asound.conf,ca-certificates,dbus-1,drirc,fonts,group,gtk-2.0,gtk-3.0,host.conf,hostname,hosts,ld.so.cache,ld.so.preload,localtime,lsb-release,machine-id,mime.types,passwd,pulse,resolv.conf,ssl,java-8-openjdk,java-7-openjdk,pki,crypto-policies 47private-etc alternatives,asound.conf,ca-certificates,dbus-1,drirc,fonts,group,gtk-2.0,gtk-3.0,host.conf,hostname,hosts,ld.so.cache,ld.so.preload,localtime,lsb-release,machine-id,mime.types,passwd,pulse,resolv.conf,ssl,java-8-openjdk,java-7-openjdk,pki,crypto-policies
48private-tmp 48private-tmp
49
50noexec ${HOME}
diff --git a/etc/torbrowser-launcher.profile b/etc/torbrowser-launcher.profile
index c7c810cda..ff4a85871 100644
--- a/etc/torbrowser-launcher.profile
+++ b/etc/torbrowser-launcher.profile
@@ -12,12 +12,8 @@ noblacklist ${HOME}/.config/torbrowser
12noblacklist ${HOME}/.local/share/torbrowser 12noblacklist ${HOME}/.local/share/torbrowser
13 13
14# Allow python (blacklisted by disable-interpreters.inc) 14# Allow python (blacklisted by disable-interpreters.inc)
15noblacklist ${PATH}/python2* 15include allow-python2.inc
16noblacklist ${PATH}/python3* 16include allow-python3.inc
17noblacklist /usr/lib/python2*
18noblacklist /usr/lib/python3*
19noblacklist /usr/local/lib/python2*
20noblacklist /usr/local/lib/python3*
21 17
22include disable-common.inc 18include disable-common.inc
23include disable-devel.inc 19include disable-devel.inc
diff --git a/etc/transgui.profile b/etc/transgui.profile
index 8043bfa01..0d09cef87 100644
--- a/etc/transgui.profile
+++ b/etc/transgui.profile
@@ -2,7 +2,7 @@
2# Description: Cross-platform Transmission BitTorrent client 2# Description: Cross-platform Transmission BitTorrent client
3# This file is overwritten after every install/update 3# This file is overwritten after every install/update
4# Persistent local customizations 4# Persistent local customizations
5include /etc/firejail/transgui.local 5include transgui.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
diff --git a/etc/transmission-daemon.profile b/etc/transmission-daemon.profile
index c67200826..9a6052ada 100644
--- a/etc/transmission-daemon.profile
+++ b/etc/transmission-daemon.profile
@@ -1,5 +1,5 @@
1# Firejail profile for transmission-daemon 1# Firejail profile for transmission-daemon
2# Description: Fast, easy and free BitTorrent client (daemon) 2# Description: Fast, easy and free BitTorrent client (daemon)
3# This file is overwritten after every install/update 3# This file is overwritten after every install/update
4quiet 4quiet
5# Persistent local customizations 5# Persistent local customizations
diff --git a/etc/transmission-remote-cli.profile b/etc/transmission-remote-cli.profile
index 3e3ad1a07..7b7a47f14 100644
--- a/etc/transmission-remote-cli.profile
+++ b/etc/transmission-remote-cli.profile
@@ -8,12 +8,8 @@ include transmission-remote-cli.local
8#include globals.local 8#include globals.local
9 9
10# Allow python (blacklisted by disable-interpreters.inc) 10# Allow python (blacklisted by disable-interpreters.inc)
11noblacklist ${PATH}/python2* 11include allow-python2.inc
12noblacklist ${PATH}/python3* 12include allow-python3.inc
13noblacklist /usr/lib/python2*
14noblacklist /usr/lib/python3*
15noblacklist /usr/local/lib/python2*
16noblacklist /usr/local/lib/python3*
17 13
18mkdir ${HOME}/.cache/transmission 14mkdir ${HOME}/.cache/transmission
19mkdir ${HOME}/.config/transmission 15mkdir ${HOME}/.config/transmission
diff --git a/etc/tuxguitar.profile b/etc/tuxguitar.profile
index 1b657d083..3111a1e22 100644
--- a/etc/tuxguitar.profile
+++ b/etc/tuxguitar.profile
@@ -11,11 +11,8 @@ noblacklist ${HOME}/.tuxguitar*
11noblacklist ${DOCUMENTS} 11noblacklist ${DOCUMENTS}
12noblacklist ${MUSIC} 12noblacklist ${MUSIC}
13 13
14# Allow access to java 14# Allow java (blacklisted by disable-devel.inc)
15noblacklist ${PATH}/java 15include allow-java.inc
16noblacklist /usr/lib/java
17noblacklist /etc/java
18noblacklist /usr/share/java
19 16
20include disable-common.inc 17include disable-common.inc
21include disable-devel.inc 18include disable-devel.inc
diff --git a/etc/unbound.profile b/etc/unbound.profile
index 6e4b5ed1c..8e7a4a8a8 100644
--- a/etc/unbound.profile
+++ b/etc/unbound.profile
@@ -6,11 +6,11 @@ include unbound.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9blacklist /tmp/.X11-unix
10
11noblacklist /sbin 9noblacklist /sbin
12noblacklist /usr/sbin 10noblacklist /usr/sbin
13 11
12blacklist /tmp/.X11-unix
13
14include disable-common.inc 14include disable-common.inc
15include disable-devel.inc 15include disable-devel.inc
16include disable-interpreters.inc 16include disable-interpreters.inc
diff --git a/etc/unrar.profile b/etc/unrar.profile
index 7fe37f061..5b55f30d2 100644
--- a/etc/unrar.profile
+++ b/etc/unrar.profile
@@ -5,21 +5,34 @@ quiet
5# Persistent local customizations 5# Persistent local customizations
6include unrar.local 6include unrar.local
7# Persistent global definitions 7# Persistent global definitions
8# added by included profile 8include globals.local
9#include globals.local
10 9
11blacklist /tmp/.X11-unix 10blacklist /tmp/.X11-unix
12 11
12include disable-common.inc
13include disable-devel.inc
14include disable-exec.inc
15include disable-interpreters.inc
16include disable-passwdmgr.inc
17include disable-programs.inc
18
19caps.drop all
13hostname unrar 20hostname unrar
14ignore noroot 21ipc-namespace
22machine-id
15net none 23net none
16no3d 24no3d
17nodbus 25nodbus
18nodvd 26nodvd
27#nogroups
28nonewprivs
29#noroot
19nosound 30nosound
20notv 31notv
21nou2f 32nou2f
22novideo 33novideo
34protocol unix
35seccomp
23shell none 36shell none
24tracelog 37tracelog
25 38
@@ -27,5 +40,3 @@ private-bin unrar
27private-dev 40private-dev
28private-etc alternatives,passwd,group,localtime 41private-etc alternatives,passwd,group,localtime
29private-tmp 42private-tmp
30
31include default.profile
diff --git a/etc/unzip.profile b/etc/unzip.profile
index be6b6c321..79b41f9d8 100644
--- a/etc/unzip.profile
+++ b/etc/unzip.profile
@@ -5,29 +5,41 @@ quiet
5# Persistent local customizations 5# Persistent local customizations
6include unzip.local 6include unzip.local
7# Persistent global definitions 7# Persistent global definitions
8# added by included profile 8include globals.local
9#include globals.local 9
10# GNOME Shell integration (chrome-gnome-shell)
11noblacklist ${HOME}/.local/share/gnome-shell
10 12
11blacklist /tmp/.X11-unix 13blacklist /tmp/.X11-unix
12 14
15include disable-common.inc
16include disable-devel.inc
17include disable-exec.inc
18include disable-interpreters.inc
19include disable-passwdmgr.inc
20include disable-programs.inc
21
22caps.drop all
13hostname unzip 23hostname unzip
14ignore noroot 24ipc-namespace
25machine-id
15net none 26net none
16no3d 27no3d
17nodbus 28nodbus
18nodvd 29nodvd
30#nogroups
31nonewprivs
32noroot
19nosound 33nosound
20notv 34notv
21nou2f 35nou2f
22novideo 36novideo
37protocol unix
38seccomp
23shell none 39shell none
24tracelog 40tracelog
25 41
26private-bin unzip 42private-bin unzip
43private-cache
27private-dev 44private-dev
28private-etc alternatives,passwd,group,localtime 45private-etc alternatives,passwd,group,localtime
29
30# GNOME Shell integration (chrome-gnome-shell)
31noblacklist ${HOME}/.local/share/gnome-shell
32
33include default.profile
diff --git a/etc/uudeview.profile b/etc/uudeview.profile
index 859656fa5..53fad0ba5 100644
--- a/etc/uudeview.profile
+++ b/etc/uudeview.profile
@@ -5,18 +5,31 @@ quiet
5# Persistent local customizations 5# Persistent local customizations
6include uudeview.local 6include uudeview.local
7# Persistent global definitions 7# Persistent global definitions
8# added by included profile 8include globals.local
9#include globals.local
10 9
10include disable-common.inc
11include disable-devel.inc
12include disable-exec.inc
13include disable-interpreters.inc
14include disable-passwdmgr.inc
15include disable-programs.inc
16
17caps.drop all
11hostname uudeview 18hostname uudeview
12ignore noroot 19ipc-namespace
20machine-id
13net none 21net none
14nodbus 22nodbus
15nodvd 23nodvd
24#nogroups
25nonewprivs
26#noroot
16nosound 27nosound
17notv 28notv
18nou2f 29nou2f
19novideo 30novideo
31protocol unix
32seccomp
20shell none 33shell none
21tracelog 34tracelog
22 35
@@ -24,5 +37,3 @@ private-bin uudeview
24private-cache 37private-cache
25private-dev 38private-dev
26private-etc alternatives,ld.so.preload 39private-etc alternatives,ld.so.preload
27
28include default.profile
diff --git a/etc/uzbl-browser.profile b/etc/uzbl-browser.profile
index dbee819cd..d4e54235b 100644
--- a/etc/uzbl-browser.profile
+++ b/etc/uzbl-browser.profile
@@ -10,12 +10,8 @@ noblacklist ${HOME}/.gnupg
10noblacklist ${HOME}/.local/share/uzbl 10noblacklist ${HOME}/.local/share/uzbl
11 11
12# Allow python (blacklisted by disable-interpreters.inc) 12# Allow python (blacklisted by disable-interpreters.inc)
13noblacklist ${PATH}/python2* 13include allow-python2.inc
14noblacklist ${PATH}/python3* 14include allow-python3.inc
15noblacklist /usr/lib/python2*
16noblacklist /usr/lib/python3*
17noblacklist /usr/local/lib/python2*
18noblacklist /usr/local/lib/python3*
19 15
20include disable-common.inc 16include disable-common.inc
21include disable-devel.inc 17include disable-devel.inc
diff --git a/etc/viewnior.profile b/etc/viewnior.profile
index f9fb1cefe..943719e75 100644
--- a/etc/viewnior.profile
+++ b/etc/viewnior.profile
@@ -6,12 +6,12 @@ include viewnior.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9blacklist ${HOME}/.bashrc
10
11noblacklist ${HOME}/.Steam 9noblacklist ${HOME}/.Steam
12noblacklist ${HOME}/.config/viewnior 10noblacklist ${HOME}/.config/viewnior
13noblacklist ${HOME}/.steam 11noblacklist ${HOME}/.steam
14 12
13blacklist ${HOME}/.bashrc
14
15include disable-common.inc 15include disable-common.inc
16include disable-devel.inc 16include disable-devel.inc
17include disable-exec.inc 17include disable-exec.inc
diff --git a/etc/w3m.profile b/etc/w3m.profile
index 143ac4f63..d577932e3 100644
--- a/etc/w3m.profile
+++ b/etc/w3m.profile
@@ -6,10 +6,10 @@ include w3m.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9blacklist /tmp/.X11-unix
10
11noblacklist ${HOME}/.w3m 9noblacklist ${HOME}/.w3m
12 10
11blacklist /tmp/.X11-unix
12
13include disable-common.inc 13include disable-common.inc
14include disable-devel.inc 14include disable-devel.inc
15include disable-interpreters.inc 15include disable-interpreters.inc
diff --git a/etc/wget.profile b/etc/wget.profile
index a7ef32e2c..ff10b2316 100644
--- a/etc/wget.profile
+++ b/etc/wget.profile
@@ -7,11 +7,11 @@ include wget.local
7# Persistent global definitions 7# Persistent global definitions
8include globals.local 8include globals.local
9 9
10blacklist /tmp/.X11-unix
11
12noblacklist ${HOME}/.wget-hsts 10noblacklist ${HOME}/.wget-hsts
13noblacklist ${HOME}/.wgetrc 11noblacklist ${HOME}/.wgetrc
14 12
13blacklist /tmp/.X11-unix
14
15include disable-common.inc 15include disable-common.inc
16include disable-exec.inc 16include disable-exec.inc
17include disable-passwdmgr.inc 17include disable-passwdmgr.inc
diff --git a/etc/wire-desktop.profile b/etc/wire-desktop.profile
index 3953de614..7c545d08f 100644
--- a/etc/wire-desktop.profile
+++ b/etc/wire-desktop.profile
@@ -16,7 +16,6 @@ include disable-programs.inc
16mkdir ${HOME}/.config/Wire 16mkdir ${HOME}/.config/Wire
17whitelist ${HOME}/.config/Wire 17whitelist ${HOME}/.config/Wire
18whitelist ${DOWNLOADS} 18whitelist ${DOWNLOADS}
19
20include whitelist-common.inc 19include whitelist-common.inc
21 20
22caps.drop all 21caps.drop all
diff --git a/etc/wireshark.profile b/etc/wireshark.profile
index 9b9757cd5..b44eae128 100644
--- a/etc/wireshark.profile
+++ b/etc/wireshark.profile
@@ -10,11 +10,8 @@ noblacklist ${HOME}/.config/wireshark
10noblacklist ${HOME}/.wireshark 10noblacklist ${HOME}/.wireshark
11noblacklist ${DOCUMENTS} 11noblacklist ${DOCUMENTS}
12 12
13# Wireshark can use Lua for scripting 13# Allow lua (blacklisted by disable-interpreters.inc)
14noblacklist ${PATH}/lua* 14include allow-lua.inc
15noblacklist /usr/lib/lua
16noblacklist /usr/include/lua*
17noblacklist /usr/share/lua
18 15
19include disable-common.inc 16include disable-common.inc
20include disable-devel.inc 17include disable-devel.inc
diff --git a/etc/xed.profile b/etc/xed.profile
index cce0432a4..9a7806b19 100644
--- a/etc/xed.profile
+++ b/etc/xed.profile
@@ -9,12 +9,8 @@ noblacklist ${HOME}/.config/xed
9noblacklist ${HOME}/.pythonrc.py 9noblacklist ${HOME}/.pythonrc.py
10 10
11# Allow python (blacklisted by disable-interpreters.inc) 11# Allow python (blacklisted by disable-interpreters.inc)
12noblacklist ${PATH}/python2* 12include allow-python2.inc
13noblacklist ${PATH}/python3* 13include allow-python3.inc
14noblacklist /usr/lib/python2*
15noblacklist /usr/lib/python3*
16noblacklist /usr/local/lib/python2*
17noblacklist /usr/local/lib/python3*
18 14
19include disable-common.inc 15include disable-common.inc
20include disable-devel.inc 16include disable-devel.inc
diff --git a/etc/xiphos.profile b/etc/xiphos.profile
index 33056395e..043e513bd 100644
--- a/etc/xiphos.profile
+++ b/etc/xiphos.profile
@@ -6,11 +6,11 @@ include xiphos.local
6# Persistent global definitions 6# Persistent global definitions
7include globals.local 7include globals.local
8 8
9blacklist ${HOME}/.bashrc
10
11noblacklist ${HOME}/.sword 9noblacklist ${HOME}/.sword
12noblacklist ${HOME}/.xiphos 10noblacklist ${HOME}/.xiphos
13 11
12blacklist ${HOME}/.bashrc
13
14include disable-common.inc 14include disable-common.inc
15include disable-devel.inc 15include disable-devel.inc
16include disable-exec.inc 16include disable-exec.inc
@@ -18,6 +18,8 @@ include disable-interpreters.inc
18include disable-passwdmgr.inc 18include disable-passwdmgr.inc
19include disable-programs.inc 19include disable-programs.inc
20 20
21mkdir ${HOME}/.sword
22mkdir ${HOME}/.xiphos
21whitelist ${HOME}/.sword 23whitelist ${HOME}/.sword
22whitelist ${HOME}/.xiphos 24whitelist ${HOME}/.xiphos
23include whitelist-common.inc 25include whitelist-common.inc
diff --git a/etc/xlinks.profile b/etc/xlinks.profile
new file mode 100644
index 000000000..ad1511791
--- /dev/null
+++ b/etc/xlinks.profile
@@ -0,0 +1,18 @@
1# Firejail profile for xlinks
2# Description: Text WWW browser (X11)
3# This file is overwritten after every install/update
4# Persistent local customizations
5include xlinks.local
6
7noblacklist /tmp/.X11-unix
8noblacklist ${HOME}/.links
9
10include whitelist-common.inc
11
12# if you want to use user-configured programs add 'private-bin PROGRAM1,PROGRAM2'
13# to your xlinks.local or append 'PROGRAM1,PROGRAM2' to this private-bin line
14private-bin xlinks
15private-etc fonts
16
17# Redirect
18include links.profile
diff --git a/etc/xplayer.profile b/etc/xplayer.profile
index b4932c99e..5f4e3bf4c 100644
--- a/etc/xplayer.profile
+++ b/etc/xplayer.profile
@@ -11,12 +11,8 @@ noblacklist ${MUSIC}
11noblacklist ${VIDEOS} 11noblacklist ${VIDEOS}
12 12
13# Allow python (blacklisted by disable-interpreters.inc) 13# Allow python (blacklisted by disable-interpreters.inc)
14noblacklist ${PATH}/python2* 14include allow-python2.inc
15noblacklist ${PATH}/python3* 15include allow-python3.inc
16noblacklist /usr/lib/python2*
17noblacklist /usr/lib/python3*
18noblacklist /usr/local/lib/python2*
19noblacklist /usr/local/lib/python3*
20 16
21include disable-common.inc 17include disable-common.inc
22include disable-devel.inc 18include disable-devel.inc
diff --git a/etc/xpra.profile b/etc/xpra.profile
index d967c1da2..dc8d7a665 100644
--- a/etc/xpra.profile
+++ b/etc/xpra.profile
@@ -8,21 +8,15 @@ include globals.local
8 8
9# 9#
10# This profile will sandbox Xpra server itself when used with firejail --x11=xpra. 10# This profile will sandbox Xpra server itself when used with firejail --x11=xpra.
11# To enable it, create a firejail-xpra symlink in /usr/local/bin: 11# To enable it, create a firejail-xpra symlink in /usr/local/bin:
12# 12#
13# $ sudo ln -s /usr/bin/firejail /usr/local/bin/xpra 13# $ sudo ln -s /usr/bin/firejail /usr/local/bin/xpra
14# 14#
15# or run "sudo firecfg" 15# or run "sudo firecfg"
16 16
17blacklist /media
18
19# Allow python (blacklisted by disable-interpreters.inc) 17# Allow python (blacklisted by disable-interpreters.inc)
20noblacklist ${PATH}/python2* 18include allow-python2.inc
21noblacklist ${PATH}/python3* 19include allow-python3.inc
22noblacklist /usr/lib/python2*
23noblacklist /usr/lib/python3*
24noblacklist /usr/local/lib/python2*
25noblacklist /usr/local/lib/python3*
26 20
27include disable-common.inc 21include disable-common.inc
28include disable-devel.inc 22include disable-devel.inc
@@ -49,6 +43,7 @@ protocol unix
49seccomp 43seccomp
50shell none 44shell none
51 45
46disable-mnt
52# private home directory doesn't work on some distros, so we go for a regular home 47# private home directory doesn't work on some distros, so we go for a regular home
53# private 48# private
54# older Xpra versions also use Xvfb 49# older Xpra versions also use Xvfb
diff --git a/etc/xzdec.profile b/etc/xzdec.profile
index a1f265c1e..3adaa557c 100644
--- a/etc/xzdec.profile
+++ b/etc/xzdec.profile
@@ -5,23 +5,34 @@ quiet
5# Persistent local customizations 5# Persistent local customizations
6include xzdec.local 6include xzdec.local
7# Persistent global definitions 7# Persistent global definitions
8# added by included profile 8include globals.local
9#include globals.local
10 9
11blacklist /tmp/.X11-unix 10blacklist /tmp/.X11-unix
12 11
13ignore noroot 12include disable-common.inc
13include disable-devel.inc
14include disable-exec.inc
15include disable-interpreters.inc
16include disable-passwdmgr.inc
17include disable-programs.inc
18
19caps.drop all
20ipc-namespace
21machine-id
14net none 22net none
15no3d 23no3d
16nodbus 24nodbus
17nodvd 25nodvd
26#nogroups
27nonewprivs
28#noroot
18nosound 29nosound
19notv 30notv
20nou2f 31nou2f
21novideo 32novideo
33protocol unix
34seccomp
22shell none 35shell none
23tracelog 36tracelog
24 37
25private-dev 38private-dev
26
27include default.profile
diff --git a/etc/yelp.profile b/etc/yelp.profile
new file mode 100644
index 000000000..66f094e1d
--- /dev/null
+++ b/etc/yelp.profile
@@ -0,0 +1,51 @@
1# Firejail profile for yelp
2# Description: Help browser for the GNOME desktop
3# This file is overwritten after every install/update
4# Persistent local customizations
5include yelp.local
6# Persistent global definitions
7include globals.local
8
9noblacklist ${HOME}/.config/yelp
10
11include disable-common.inc
12include disable-devel.inc
13include disable-exec.inc
14include disable-interpreters.inc
15include disable-passwdmgr.inc
16include disable-programs.inc
17include disable-xdg.inc
18
19mkdir ${HOME}/.config/yelp
20whitelist ${HOME}/.config/yelp
21include whitelist-common.inc
22include whitelist-var-common.inc
23
24apparmor
25caps.drop all
26net none
27nodvd
28nogroups
29nonewprivs
30noroot
31notv
32nou2f
33novideo
34protocol unix
35seccomp
36shell none
37tracelog
38
39disable-mnt
40private-bin yelp
41private-cache
42private-dev
43private-etc alsa,alternatives,asound.conf,crypto-policies,cups,dconf,drirc,fonts,gcrypt,gtk-3.0,machine-id,openal,os-release,pulse,sgml,xml
44private-tmp
45
46# read-only ${HOME} breaks some not necesarry featrues, comment it if
47# you need them or put 'ignore read-only ${HOME}' into your yelp.local.
48# broken features:
49# 1. yelp --editor-mode
50# 2. saving the window geometry
51read-only ${HOME}
diff --git a/etc/youtube-dl.profile b/etc/youtube-dl.profile
index 621ffb2b0..1c2bad51c 100644
--- a/etc/youtube-dl.profile
+++ b/etc/youtube-dl.profile
@@ -7,20 +7,16 @@ include youtube-dl.local
7# Persistent global definitions 7# Persistent global definitions
8include globals.local 8include globals.local
9 9
10# breaks when installed via pip
11ignore noexec ${HOME}
12
10noblacklist ${HOME}/.netrc 13noblacklist ${HOME}/.netrc
11noblacklist ${MUSIC} 14noblacklist ${MUSIC}
12noblacklist ${VIDEOS} 15noblacklist ${VIDEOS}
13 16
14# Allow python (blacklisted by disable-interpreters.inc) 17# Allow python (blacklisted by disable-interpreters.inc)
15noblacklist ${PATH}/python2* 18include allow-python2.inc
16noblacklist ${PATH}/python3* 19include allow-python3.inc
17noblacklist /usr/lib/python2*
18noblacklist /usr/lib/python3*
19noblacklist /usr/local/lib/python2*
20noblacklist /usr/local/lib/python3*
21
22# breaks when installed via pip
23ignore noexec ${HOME}
24 20
25include disable-common.inc 21include disable-common.inc
26include disable-devel.inc 22include disable-devel.inc
diff --git a/etc/zaproxy.profile b/etc/zaproxy.profile
index dc3164da1..0598ea18d 100644
--- a/etc/zaproxy.profile
+++ b/etc/zaproxy.profile
@@ -9,11 +9,8 @@ include globals.local
9noblacklist ${HOME}/.java 9noblacklist ${HOME}/.java
10noblacklist ${HOME}/.ZAP 10noblacklist ${HOME}/.ZAP
11 11
12# Allow access to java 12# Allow java (blacklisted by disable-devel.inc)
13noblacklist ${PATH}/java 13include allow-java.inc
14noblacklist /usr/lib/java
15noblacklist /etc/java
16noblacklist /usr/share/java
17 14
18include disable-common.inc 15include disable-common.inc
19include disable-devel.inc 16include disable-devel.inc
@@ -22,6 +19,7 @@ include disable-interpreters.inc
22include disable-passwdmgr.inc 19include disable-passwdmgr.inc
23include disable-programs.inc 20include disable-programs.inc
24 21
22mkdir ${HOME}/.java
25mkdir ${HOME}/.ZAP 23mkdir ${HOME}/.ZAP
26whitelist ${HOME}/.java 24whitelist ${HOME}/.java
27whitelist ${HOME}/.ZAP 25whitelist ${HOME}/.ZAP
diff --git a/etc/zoom.profile b/etc/zoom.profile
index 456b197f3..6d312aff6 100644
--- a/etc/zoom.profile
+++ b/etc/zoom.profile
@@ -13,6 +13,8 @@ include disable-devel.inc
13include disable-interpreters.inc 13include disable-interpreters.inc
14include disable-programs.inc 14include disable-programs.inc
15 15
16mkdir ${HOME}/.cache/zoom
17mkfile ${HOME}/.config/zoomus.conf
16mkdir ${HOME}/.zoom 18mkdir ${HOME}/.zoom
17whitelist ${HOME}/.cache/zoom 19whitelist ${HOME}/.cache/zoom
18whitelist ${HOME}/.config/zoomus.conf 20whitelist ${HOME}/.config/zoomus.conf
diff --git a/etc/zpaq.profile b/etc/zpaq.profile
index 6d4501e4f..6bf3605eb 100644
--- a/etc/zpaq.profile
+++ b/etc/zpaq.profile
@@ -10,6 +10,5 @@ include zpaq.local
10# mdwx breaks 'list' functionality 10# mdwx breaks 'list' functionality
11ignore memory-deny-write-execute 11ignore memory-deny-write-execute
12 12
13
14# Redirect 13# Redirect
15include cpio.profile 14include cpio.profile
diff --git a/src/firecfg/firecfg.config b/src/firecfg/firecfg.config
index 65605edb3..d21abbc9a 100644
--- a/src/firecfg/firecfg.config
+++ b/src/firecfg/firecfg.config
@@ -132,7 +132,6 @@ deluge
132devhelp 132devhelp
133dex2jar 133dex2jar
134dia 134dia
135dig
136digikam 135digikam
137dillo 136dillo
138dino 137dino
@@ -187,8 +186,8 @@ firefox-developer-edition
187firefox-esr 186firefox-esr
188firefox-nightly 187firefox-nightly
189firefox-wayland 188firefox-wayland
190flameshot
191flacsplt 189flacsplt
190flameshot
192flashpeak-slimjet 191flashpeak-slimjet
193flowblade 192flowblade
194font-manager 193font-manager
@@ -306,6 +305,8 @@ kid3
306kid3-cli 305kid3-cli
307kid3-qt 306kid3-qt
308kino 307kino
308klatexformula
309klatexformula_cmdl
309klavaro 310klavaro
310kmail 311kmail
311knotes 312knotes
@@ -315,6 +316,7 @@ kopete
315krita 316krita
316# krunner 317# krunner
317ktorrent 318ktorrent
319ktouch
318# kwin_x11 320# kwin_x11
319kwrite 321kwrite
320leafpad 322leafpad
@@ -322,6 +324,7 @@ less
322libreoffice 324libreoffice
323liferea 325liferea
324lincity-ng 326lincity-ng
327links
325linphone 328linphone
326lmms 329lmms
327lobase 330lobase
@@ -422,6 +425,7 @@ opera-beta
422orage 425orage
423ostrichriders 426ostrichriders
424palemoon 427palemoon
428pandoc
425parole 429parole
426patch 430patch
427pavucontrol 431pavucontrol
@@ -450,6 +454,7 @@ pybitmessage
450# pycharm-professional 454# pycharm-professional
451qbittorrent 455qbittorrent
452qemu-launcher 456qemu-launcher
457qgis
453qlipper 458qlipper
454qmmp 459qmmp
455qpdfview 460qpdfview
@@ -622,6 +627,7 @@ xfce4-dict
622xfce4-mixer 627xfce4-mixer
623xfce4-notes 628xfce4-notes
624xiphos 629xiphos
630xlinks
625xmms 631xmms
626xmr-stak 632xmr-stak
627xonotic 633xonotic
@@ -637,6 +643,7 @@ xreader-previewer
637xreader-thumbnailer 643xreader-thumbnailer
638xviewer 644xviewer
639yandex-browser 645yandex-browser
646yelp
640youtube-dl 647youtube-dl
641zaproxy 648zaproxy
642zart 649zart
diff --git a/src/firecfg/firecfg.h b/src/firecfg/firecfg.h
index e847719cf..71e5d625d 100644
--- a/src/firecfg/firecfg.h
+++ b/src/firecfg/firecfg.h
@@ -17,6 +17,8 @@
17 * with this program; if not, write to the Free Software Foundation, Inc., 17 * with this program; if not, write to the Free Software Foundation, Inc.,
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19*/ 19*/
20#ifndef FIRECFG_H
21#define FIRECFG_H
20#define _GNU_SOURCE 22#define _GNU_SOURCE
21#include <stdio.h> 23#include <stdio.h>
22#include <sys/types.h> 24#include <sys/types.h>
@@ -48,3 +50,5 @@ void sound(void);
48 50
49// desktop_files.c 51// desktop_files.c
50void fix_desktop_files(char *homedir); 52void fix_desktop_files(char *homedir);
53
54#endif
diff --git a/src/firejail/firejail.h b/src/firejail/firejail.h
index e0f3a6a16..fd6cb9ff2 100644
--- a/src/firejail/firejail.h
+++ b/src/firejail/firejail.h
@@ -283,6 +283,7 @@ extern int arg_private_srv; // private srv directory
283extern int arg_private_bin; // private bin directory 283extern int arg_private_bin; // private bin directory
284extern int arg_private_tmp; // private tmp directory 284extern int arg_private_tmp; // private tmp directory
285extern int arg_private_lib; // private lib directory 285extern int arg_private_lib; // private lib directory
286extern int arg_private_cwd; // private working directory
286extern int arg_scan; // arp-scan all interfaces 287extern int arg_scan; // arp-scan all interfaces
287extern int arg_whitelist; // whitelist command 288extern int arg_whitelist; // whitelist command
288extern int arg_nosound; // disable sound 289extern int arg_nosound; // disable sound
@@ -315,6 +316,7 @@ extern int arg_notv; // --notv
315extern int arg_nodvd; // --nodvd 316extern int arg_nodvd; // --nodvd
316extern int arg_nou2f; // --nou2f 317extern int arg_nou2f; // --nou2f
317extern int arg_nodbus; // -nodbus 318extern int arg_nodbus; // -nodbus
319extern int arg_deterministic_exit_code; // always exit with first child's exit status
318 320
319extern int login_shell; 321extern int login_shell;
320extern int parent_to_child_fds[2]; 322extern int parent_to_child_fds[2];
@@ -521,6 +523,8 @@ void fs_private(void);
521void fs_private_homedir(void); 523void fs_private_homedir(void);
522// check new private home directory (--private= option) - exit if it fails 524// check new private home directory (--private= option) - exit if it fails
523void fs_check_private_dir(void); 525void fs_check_private_dir(void);
526// check new private working directory (--private-cwd= option) - exit if it fails
527void fs_check_private_cwd(const char *dir);
524void fs_private_home_list(void); 528void fs_private_home_list(void);
525 529
526 530
diff --git a/src/firejail/fs_home.c b/src/firejail/fs_home.c
index b44d09acc..3f6d78db4 100644
--- a/src/firejail/fs_home.c
+++ b/src/firejail/fs_home.c
@@ -370,6 +370,21 @@ void fs_check_private_dir(void) {
370 } 370 }
371} 371}
372 372
373// check new private working directory (--private-cwd= option) - exit if it fails
374void fs_check_private_cwd(const char *dir) {
375 EUID_ASSERT();
376 invalid_filename(dir, 0); // no globbing
377
378 // Expand the working directory
379 cfg.cwd = expand_macros(dir);
380
381 // realpath/is_dir not used because path may not exist outside of jail
382 if (strstr(cfg.cwd, "..")) {
383 fprintf(stderr, "Error: invalid private working directory\n");
384 exit(1);
385 }
386}
387
373//*********************************************************************************** 388//***********************************************************************************
374// --private-home 389// --private-home
375//*********************************************************************************** 390//***********************************************************************************
diff --git a/src/firejail/main.c b/src/firejail/main.c
index f3dc72944..c50ed4dc4 100644
--- a/src/firejail/main.c
+++ b/src/firejail/main.c
@@ -92,6 +92,7 @@ int arg_private_srv = 0; // private srv directory
92int arg_private_bin = 0; // private bin directory 92int arg_private_bin = 0; // private bin directory
93int arg_private_tmp = 0; // private tmp directory 93int arg_private_tmp = 0; // private tmp directory
94int arg_private_lib = 0; // private lib directory 94int arg_private_lib = 0; // private lib directory
95int arg_private_cwd = 0; // private working directory
95int arg_scan = 0; // arp-scan all interfaces 96int arg_scan = 0; // arp-scan all interfaces
96int arg_whitelist = 0; // whitelist command 97int arg_whitelist = 0; // whitelist command
97int arg_nosound = 0; // disable sound 98int arg_nosound = 0; // disable sound
@@ -125,6 +126,7 @@ int arg_notv = 0; // --notv
125int arg_nodvd = 0; // --nodvd 126int arg_nodvd = 0; // --nodvd
126int arg_nodbus = 0; // -nodbus 127int arg_nodbus = 0; // -nodbus
127int arg_nou2f = 0; // --nou2f 128int arg_nou2f = 0; // --nou2f
129int arg_deterministic_exit_code = 0; // always exit with first child's exit status
128int login_shell = 0; 130int login_shell = 0;
129 131
130 132
@@ -630,6 +632,10 @@ static void run_cmd_and_exit(int i, int argc, char **argv) {
630 else if (strncmp(argv[i], "--get=", 6) == 0) { 632 else if (strncmp(argv[i], "--get=", 6) == 0) {
631 if (checkcfg(CFG_FILE_TRANSFER)) { 633 if (checkcfg(CFG_FILE_TRANSFER)) {
632 logargs(argc, argv); 634 logargs(argc, argv);
635 if (arg_private_cwd) {
636 fprintf(stderr, "Error: --get and --private-cwd options are mutually exclusive\n");
637 exit(1);
638 }
633 639
634 // verify path 640 // verify path
635 if ((i + 2) != argc) { 641 if ((i + 2) != argc) {
@@ -654,6 +660,10 @@ static void run_cmd_and_exit(int i, int argc, char **argv) {
654 else if (strncmp(argv[i], "--put=", 6) == 0) { 660 else if (strncmp(argv[i], "--put=", 6) == 0) {
655 if (checkcfg(CFG_FILE_TRANSFER)) { 661 if (checkcfg(CFG_FILE_TRANSFER)) {
656 logargs(argc, argv); 662 logargs(argc, argv);
663 if (arg_private_cwd) {
664 fprintf(stderr, "Error: --put and --private-cwd options are mutually exclusive\n");
665 exit(1);
666 }
657 667
658 // verify path 668 // verify path
659 if ((i + 3) != argc) { 669 if ((i + 3) != argc) {
@@ -684,6 +694,10 @@ static void run_cmd_and_exit(int i, int argc, char **argv) {
684 else if (strncmp(argv[i], "--ls=", 5) == 0) { 694 else if (strncmp(argv[i], "--ls=", 5) == 0) {
685 if (checkcfg(CFG_FILE_TRANSFER)) { 695 if (checkcfg(CFG_FILE_TRANSFER)) {
686 logargs(argc, argv); 696 logargs(argc, argv);
697 if (arg_private_cwd) {
698 fprintf(stderr, "Error: --ls and --private-cwd options are mutually exclusive\n");
699 exit(1);
700 }
687 701
688 // verify path 702 // verify path
689 if ((i + 2) != argc) { 703 if ((i + 2) != argc) {
@@ -1773,6 +1787,19 @@ int main(int argc, char **argv) {
1773 else 1787 else
1774 exit_err_feature("private-cache"); 1788 exit_err_feature("private-cache");
1775 } 1789 }
1790 else if (strcmp(argv[i], "--private-cwd") == 0) {
1791 cfg.cwd = NULL;
1792 arg_private_cwd = 1;
1793 }
1794 else if (strncmp(argv[i], "--private-cwd=", 14) == 0) {
1795 if (*(argv[i] + 14) == '\0') {
1796 fprintf(stderr, "Error: invalid private-cwd option\n");
1797 exit(1);
1798 }
1799
1800 fs_check_private_cwd(argv[i] + 14);
1801 arg_private_cwd = 1;
1802 }
1776 1803
1777 //************************************* 1804 //*************************************
1778 // hostname, etc 1805 // hostname, etc
@@ -2275,6 +2302,9 @@ int main(int argc, char **argv) {
2275 return 1; 2302 return 1;
2276 } 2303 }
2277 } 2304 }
2305 else if (strcmp(argv[i], "--deterministic-exit-code") == 0) {
2306 arg_deterministic_exit_code = 1;
2307 }
2278 else { 2308 else {
2279 // double dash - positional params to follow 2309 // double dash - positional params to follow
2280 if (strcmp(argv[i], "--") == 0) { 2310 if (strcmp(argv[i], "--") == 0) {
diff --git a/src/firejail/profile.c b/src/firejail/profile.c
index c8619f7e2..99d83c16a 100644
--- a/src/firejail/profile.c
+++ b/src/firejail/profile.c
@@ -338,7 +338,7 @@ int profile_check_line(char *ptr, int lineno, const char *fname) {
338 arg_private = 1; 338 arg_private = 1;
339 return 0; 339 return 0;
340 } 340 }
341 if (strncmp(ptr, "private-home ", 13) == 0) { 341 else if (strncmp(ptr, "private-home ", 13) == 0) {
342#ifdef HAVE_PRIVATE_HOME 342#ifdef HAVE_PRIVATE_HOME
343 if (checkcfg(CFG_PRIVATE_HOME)) { 343 if (checkcfg(CFG_PRIVATE_HOME)) {
344 if (cfg.home_private_keep) { 344 if (cfg.home_private_keep) {
@@ -353,6 +353,16 @@ int profile_check_line(char *ptr, int lineno, const char *fname) {
353#endif 353#endif
354 return 0; 354 return 0;
355 } 355 }
356 else if (strcmp(ptr, "private-cwd") == 0) {
357 cfg.cwd = NULL;
358 arg_private_cwd = 1;
359 return 0;
360 }
361 else if (strncmp(ptr, "private-cwd ", 12) == 0) {
362 fs_check_private_cwd(ptr + 12);
363 arg_private_cwd = 1;
364 return 0;
365 }
356 else if (strcmp(ptr, "allusers") == 0) { 366 else if (strcmp(ptr, "allusers") == 0) {
357 arg_allusers = 1; 367 arg_allusers = 1;
358 return 0; 368 return 0;
@@ -1301,6 +1311,11 @@ int profile_check_line(char *ptr, int lineno, const char *fname) {
1301 return 0; 1311 return 0;
1302 } 1312 }
1303 1313
1314 if (strcmp(ptr, "deterministic-exit-code") == 0) {
1315 arg_deterministic_exit_code = 1;
1316 return 0;
1317 }
1318
1304 // rest of filesystem 1319 // rest of filesystem
1305 if (strncmp(ptr, "blacklist ", 10) == 0) 1320 if (strncmp(ptr, "blacklist ", 10) == 0)
1306 ptr += 10; 1321 ptr += 10;
diff --git a/src/firejail/sandbox.c b/src/firejail/sandbox.c
index 9f0a5f25c..2c5c5fc12 100644
--- a/src/firejail/sandbox.c
+++ b/src/firejail/sandbox.c
@@ -271,6 +271,7 @@ static int monitor_application(pid_t app_pid) {
271 } 271 }
272 272
273 int status = 0; 273 int status = 0;
274 int app_status = 0;
274 while (monitored_pid) { 275 while (monitored_pid) {
275 usleep(20000); 276 usleep(20000);
276 char *msg; 277 char *msg;
@@ -295,6 +296,8 @@ static int monitor_application(pid_t app_pid) {
295 sleep(1); 296 sleep(1);
296 break; 297 break;
297 } 298 }
299 else if (rv == app_pid)
300 app_status = status;
298 301
299 // handle --timeout 302 // handle --timeout
300 if (options) { 303 if (options) {
@@ -352,8 +355,8 @@ static int monitor_application(pid_t app_pid) {
352 printf("Sandbox monitor: monitoring %d\n", monitored_pid); 355 printf("Sandbox monitor: monitoring %d\n", monitored_pid);
353 } 356 }
354 357
355 // return the latest exit status. 358 // return the appropriate exit status.
356 return status; 359 return arg_deterministic_exit_code ? app_status : status;
357} 360}
358 361
359static void print_time(void) { 362static void print_time(void) {
@@ -1016,6 +1019,10 @@ int sandbox(void* sandbox_arg) {
1016 if (cfg.cwd) { 1019 if (cfg.cwd) {
1017 if (chdir(cfg.cwd) == 0) 1020 if (chdir(cfg.cwd) == 0)
1018 cwd = 1; 1021 cwd = 1;
1022 else if (arg_private_cwd) {
1023 fprintf(stderr, "Error: unable to enter private working directory: %s: %s\n", cfg.cwd, strerror(errno));
1024 exit(1);
1025 }
1019 } 1026 }
1020 1027
1021 if (!cwd) { 1028 if (!cwd) {
diff --git a/src/firejail/usage.c b/src/firejail/usage.c
index 7620bba82..fbace7374 100644
--- a/src/firejail/usage.c
+++ b/src/firejail/usage.c
@@ -66,6 +66,7 @@ static char *usage_str =
66#ifdef HAVE_NETWORK 66#ifdef HAVE_NETWORK
67 " --defaultgw=address - configure default gateway.\n" 67 " --defaultgw=address - configure default gateway.\n"
68#endif 68#endif
69 " --deterministic-exit-code - always exit with first child's status code.\n"
69 " --dns=address - set DNS server.\n" 70 " --dns=address - set DNS server.\n"
70 " --dns.print=name|pid - print DNS configuration.\n" 71 " --dns.print=name|pid - print DNS configuration.\n"
71 " --env=name=value - set environment variable.\n" 72 " --env=name=value - set environment variable.\n"
@@ -162,6 +163,8 @@ static char *usage_str =
162 " --private-etc=file,directory - build a new /etc in a temporary\n" 163 " --private-etc=file,directory - build a new /etc in a temporary\n"
163 "\tfilesystem, and copy the files and directories in the list.\n" 164 "\tfilesystem, and copy the files and directories in the list.\n"
164 " --private-tmp - mount a tmpfs on top of /tmp directory.\n" 165 " --private-tmp - mount a tmpfs on top of /tmp directory.\n"
166 " --private-cwd - do not inherit working directory inside jail.\n"
167 " --private-cwd=directory - set working directory inside jail.\n"
165 " --private-opt=file,directory - build a new /opt in a temporary filesystem.\n" 168 " --private-opt=file,directory - build a new /opt in a temporary filesystem.\n"
166 " --private-srv=file,directory - build a new /srv in a temporary filesystem.\n" 169 " --private-srv=file,directory - build a new /srv in a temporary filesystem.\n"
167 " --profile=filename|profile_name - use a custom profile.\n" 170 " --profile=filename|profile_name - use a custom profile.\n"
diff --git a/src/firemon/firemon.c b/src/firemon/firemon.c
index e5f1b6f9a..b3c435d9e 100644
--- a/src/firemon/firemon.c
+++ b/src/firemon/firemon.c
@@ -83,7 +83,9 @@ int find_child(int id) {
83 return i; 83 return i;
84 } 84 }
85 85
86 return -1; 86 // if a second child is not found, return the first child pid
87 // this happens for processes sandboxed with --join
88 return first_child;
87} 89}
88 90
89// sleep and wait for a key to be pressed 91// sleep and wait for a key to be pressed
diff --git a/src/include/rundefs.h b/src/include/rundefs.h
index 67d7cfa4f..67c693dce 100644
--- a/src/include/rundefs.h
+++ b/src/include/rundefs.h
@@ -51,13 +51,13 @@
51#define RUN_DNS_ETC "/run/firejail/mnt/dns-etc" 51#define RUN_DNS_ETC "/run/firejail/mnt/dns-etc"
52 52
53#define RUN_SECCOMP_DIR "/run/firejail/mnt/seccomp" 53#define RUN_SECCOMP_DIR "/run/firejail/mnt/seccomp"
54#define RUN_SECCOMP_LIST "/run/firejail/mnt/seccomp/seccomp.list" // list of seccomp files installed 54#define RUN_SECCOMP_LIST (RUN_SECCOMP_DIR "/seccomp.list") // list of seccomp files installed
55#define RUN_SECCOMP_PROTOCOL "/run/firejail/mnt/seccomp/seccomp.protocol" // protocol filter 55#define RUN_SECCOMP_PROTOCOL (RUN_SECCOMP_DIR "/seccomp.protocol") // protocol filter
56#define RUN_SECCOMP_CFG "/run/firejail/mnt/seccomp/seccomp" // configured filter 56#define RUN_SECCOMP_CFG (RUN_SECCOMP_DIR "/seccomp") // configured filter
57#define RUN_SECCOMP_32 "/run/firejail/mnt/seccomp/seccomp.32" // 32bit arch filter installed on 64bit architectures 57#define RUN_SECCOMP_32 (RUN_SECCOMP_DIR "/seccomp.32") // 32bit arch filter installed on 64bit architectures
58#define RUN_SECCOMP_MDWX "/run/firejail/mnt/seccomp/seccomp.mdwx" // filter for memory-deny-write-execute 58#define RUN_SECCOMP_MDWX (RUN_SECCOMP_DIR "/seccomp.mdwx") // filter for memory-deny-write-execute
59#define RUN_SECCOMP_BLOCK_SECONDARY "/run/firejail/mnt/seccomp/seccomp.block_secondary" // secondary arch blocking filter 59#define RUN_SECCOMP_BLOCK_SECONDARY (RUN_SECCOMP_DIR "/seccomp.block_secondary") // secondary arch blocking filter
60#define RUN_SECCOMP_POSTEXEC "/run/firejail/mnt/seccomp/seccomp.postexec" // filter for post-exec library 60#define RUN_SECCOMP_POSTEXEC (RUN_SECCOMP_DIR "/seccomp.postexec") // filter for post-exec library
61#define PATH_SECCOMP_DEFAULT (LIBDIR "/firejail/seccomp") // default filter built during make 61#define PATH_SECCOMP_DEFAULT (LIBDIR "/firejail/seccomp") // default filter built during make
62#define PATH_SECCOMP_DEFAULT_DEBUG (LIBDIR "/firejail/seccomp.debug") // default filter built during make 62#define PATH_SECCOMP_DEFAULT_DEBUG (LIBDIR "/firejail/seccomp.debug") // default filter built during make
63#define PATH_SECCOMP_32 (LIBDIR "/firejail/seccomp.32") // 32bit arch filter built during make 63#define PATH_SECCOMP_32 (LIBDIR "/firejail/seccomp.32") // 32bit arch filter built during make
diff --git a/src/man/firejail-profile.txt b/src/man/firejail-profile.txt
index 703fac30f..8c9989970 100644
--- a/src/man/firejail-profile.txt
+++ b/src/man/firejail-profile.txt
@@ -288,6 +288,12 @@ All modifications are discarded when the sandbox is closed.
288\fBprivate-tmp 288\fBprivate-tmp
289Mount an empty temporary filesystem on top of /tmp directory whitelisting /tmp/.X11-unix. 289Mount an empty temporary filesystem on top of /tmp directory whitelisting /tmp/.X11-unix.
290.TP 290.TP
291\fBprivate-cwd
292Set working directory inside jail to the home directory, and failing that, the root directory.
293.TP
294\fBprivate-cwd directory
295Set working directory inside the jail.
296.TP
291\fBread-only file_or_directory 297\fBread-only file_or_directory
292Make directory or file read-only. 298Make directory or file read-only.
293.TP 299.TP
@@ -661,6 +667,10 @@ instead of the default one.
661Join the sandbox identified by name or start a new one. 667Join the sandbox identified by name or start a new one.
662Same as "firejail --join=sandboxname" command if sandbox with specified name exists, otherwise same as "name sandboxname". 668Same as "firejail --join=sandboxname" command if sandbox with specified name exists, otherwise same as "name sandboxname".
663 669
670.TP
671\fBdeterministic-exit-code
672Always exit firejail with the first child's exit status. The default behavior is to use the exit status of the final child to exit, which can be nondeterministic.
673
664.SH FILES 674.SH FILES
665/etc/firejail/filename.profile, $HOME/.config/firejail/filename.profile 675/etc/firejail/filename.profile, $HOME/.config/firejail/filename.profile
666 676
diff --git a/src/man/firejail.txt b/src/man/firejail.txt
index e6826448b..67b84de0e 100644
--- a/src/man/firejail.txt
+++ b/src/man/firejail.txt
@@ -410,6 +410,10 @@ Example:
410$ firejail \-\-disable-mnt firefox 410$ firejail \-\-disable-mnt firefox
411 411
412.TP 412.TP
413\fB\-\-deterministic-exit-code
414Always exit firejail with the first child's exit status. The default behavior is to use the exit status of the final child to exit, which can be nondeterministic.
415
416.TP
413\fB\-\-dns=address 417\fB\-\-dns=address
414Set a DNS server for the sandbox. Up to three DNS servers can be defined. 418Set a DNS server for the sandbox. Up to three DNS servers can be defined.
415Use this option if you don't trust the DNS setup on your network. 419Use this option if you don't trust the DNS setup on your network.
@@ -1568,6 +1572,48 @@ drwx------ 2 nobody nogroup 4096 Apr 30 10:52 pulse-PKdhtXMmr18n
1568drwxrwxrwt 2 nobody nogroup 4096 Apr 30 10:52 .X11-unix 1572drwxrwxrwt 2 nobody nogroup 4096 Apr 30 10:52 .X11-unix
1569.br 1573.br
1570 1574
1575.TP
1576\fB\-\-private-cwd
1577Set working directory inside jail to the home directory, and failing that, the root directory.
1578.br
1579Does not impact working directory of profile include paths.
1580.br
1581
1582.br
1583Example:
1584.br
1585$ pwd
1586.br
1587/tmp
1588.br
1589$ firejail \-\-private-cwd
1590.br
1591$ pwd
1592.br
1593/home/user
1594.br
1595
1596.TP
1597\fB\-\-private-cwd=directory
1598Set working directory inside the jail.
1599.br
1600Does not impact working directory of profile include paths.
1601.br
1602
1603.br
1604Example:
1605.br
1606$ pwd
1607.br
1608/tmp
1609.br
1610$ firejail \-\-private-cwd=/opt
1611.br
1612$ pwd
1613.br
1614/opt
1615.br
1616
1571 1617
1572.TP 1618.TP
1573\fB\-\-profile=filename_or_profilename 1619\fB\-\-profile=filename_or_profilename
diff --git a/test/environment/deterministic-exit-code.exp b/test/environment/deterministic-exit-code.exp
new file mode 100755
index 000000000..165b9ebe0
--- /dev/null
+++ b/test/environment/deterministic-exit-code.exp
@@ -0,0 +1,55 @@
1#!/usr/bin/expect -f
2# This file is part of Firejail project
3# Copyright (C) 2014-2019 Firejail Authors
4# License GPL v2
5
6set timeout 4
7spawn $env(SHELL)
8match_max 100000
9
10send -- "firejail\r"
11expect {
12 timeout {puts "TESTING ERROR 0\n";exit}
13 "Child process initialized"
14}
15sleep 1
16
17send -- "({ nohup bash -c \"sleep 0.2; exit 53\" &> /dev/null & } &)\r"
18send -- "exit 35\r"
19expect {
20 timeout {puts "TESTING ERROR 1\n";exit}
21 "Parent is shutting down"
22}
23after 300
24
25send -- "echo $?\r"
26expect {
27 timeout {puts "TESTING ERROR 2\n";exit}
28 "53"
29}
30after 100
31
32send -- "firejail --deterministic-exit-code\r"
33expect {
34 timeout {puts "TESTING ERROR 3\n";exit}
35 "Child process initialized"
36}
37sleep 1
38
39send -- "({ nohup bash -c \"sleep 0.2; exit 53\" &> /dev/null & } &)\r"
40send -- "exit 35\r"
41expect {
42 timeout {puts "TESTING ERROR 4\n";exit}
43 "Parent is shutting down"
44}
45after 300
46
47send -- "echo $?\r"
48expect {
49 timeout {puts "TESTING ERROR 5\n";exit}
50 "35"
51}
52after 100
53
54
55puts "\nall done\n"
diff --git a/test/environment/environment.sh b/test/environment/environment.sh
index 85d6c0873..5b4aa32f4 100755
--- a/test/environment/environment.sh
+++ b/test/environment/environment.sh
@@ -116,3 +116,6 @@ echo "TESTING: rlimit errors (test/environment/rlimit-bad.exp)"
116 116
117echo "TESTING: rlimit errors profile (test/environment/rlimit-bad-profile.exp)" 117echo "TESTING: rlimit errors profile (test/environment/rlimit-bad-profile.exp)"
118./rlimit-bad-profile.exp 118./rlimit-bad-profile.exp
119
120echo "TESTING: deterministic exit code (test/environment/deterministic-exit-code.exp"
121./deterministic-exit-code.exp
diff --git a/test/environment/rlimit.profile b/test/environment/rlimit.profile
index a57471604..a569edc6d 100644
--- a/test/environment/rlimit.profile
+++ b/test/environment/rlimit.profile
@@ -1,5 +1,5 @@
1 rlimit-fsize 1024 1rlimit-fsize 1024
2rlimit-nproc 1000 2rlimit-nproc 1000
3 rlimit-nofile 500 3rlimit-nofile 500
4rlimit-sigpending 200 4rlimit-sigpending 200
5rlimit-as 123456789012 5rlimit-as 123456789012
diff --git a/test/fs/fs.sh b/test/fs/fs.sh
index 0fc216b20..7e1d46f0a 100755
--- a/test/fs/fs.sh
+++ b/test/fs/fs.sh
@@ -69,6 +69,9 @@ echo "TESTING: empty private-etc (test/fs/private-etc-empty.exp)"
69echo "TESTING: private-bin (test/fs/private-bin.exp)" 69echo "TESTING: private-bin (test/fs/private-bin.exp)"
70./private-bin.exp 70./private-bin.exp
71 71
72echo "TESTING: private-cwd (test/fs/private-cwd.exp)"
73./private-cwd.exp
74
72echo "TESTING: macros (test/fs/macro.exp)" 75echo "TESTING: macros (test/fs/macro.exp)"
73./macro.exp 76./macro.exp
74 77
diff --git a/test/fs/private-cwd.exp b/test/fs/private-cwd.exp
new file mode 100755
index 000000000..0fa87a92f
--- /dev/null
+++ b/test/fs/private-cwd.exp
@@ -0,0 +1,52 @@
1#!/usr/bin/expect -f
2# This file is part of Firejail project
3# Copyright (C) 2014-2019 Firejail Authors
4# License GPL v2
5
6set timeout 10
7spawn $env(SHELL)
8match_max 100000
9
10send -- "cd /tmp\r"
11after 100
12
13# testing profile and private
14send -- "firejail --private-cwd\r"
15expect {
16 timeout {puts "TESTING ERROR 0\n";exit}
17 "Child process initialized"
18}
19sleep 1
20
21send -- "pwd\r"
22expect {
23 timeout {puts "TESTING ERROR 1\n";exit}
24 "$env(HOME)"
25}
26after 100
27
28send -- "exit\r"
29sleep 1
30
31send -- "cd /\r"
32after 100
33
34# testing profile and private
35send -- "firejail --private-cwd=/tmp\r"
36expect {
37 timeout {puts "TESTING ERROR 3\n";exit}
38 "Child process initialized"
39}
40sleep 1
41
42send -- "pwd\r"
43expect {
44 timeout {puts "TESTING ERROR 4\n";exit}
45 "/tmp"
46}
47after 100
48
49send -- "exit\r"
50sleep 1
51
52puts "all done\n"
diff --git a/test/private-lib/private-lib.sh b/test/private-lib/private-lib.sh
index 5e9d75379..79913fed6 100755
--- a/test/private-lib/private-lib.sh
+++ b/test/private-lib/private-lib.sh
@@ -5,7 +5,7 @@
5 5
6export MALLOC_CHECK_=3g 6export MALLOC_CHECK_=3g
7export MALLOC_PERTURB_=$(($RANDOM % 255 + 1)) 7export MALLOC_PERTURB_=$(($RANDOM % 255 + 1))
8LIST="gnome-logs gnome-system-log gnome-nettool pavucontrol dig whois evince galculator gnome-calculator gedit leafpad mousepad pluma transmission-gtk xcalc atril gpicview eom eog" 8LIST="gnome-logs gnome-system-log gnome-nettool pavucontrol dig evince whois galculator gnome-calculator gedit leafpad mousepad pluma transmission-gtk xcalc atril gpicview eom eog"
9 9
10 10
11for app in $LIST; do 11for app in $LIST; do