aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar netblue30 <netblue30@yahoo.com>2018-06-15 06:22:18 -0500
committerLibravatar GitHub <noreply@github.com>2018-06-15 06:22:18 -0500
commit31bb894f2afd8686bc5051fdc8b59bc5e8f738e4 (patch)
treee617fa5b0b44f1ebf581fb7738f3ee7ce79a7253
parentreadme.md (diff)
parentAdd private-cache to many profiles (diff)
downloadfirejail-31bb894f2afd8686bc5051fdc8b59bc5e8f738e4.tar.gz
firejail-31bb894f2afd8686bc5051fdc8b59bc5e8f738e4.tar.zst
firejail-31bb894f2afd8686bc5051fdc8b59bc5e8f738e4.zip
Merge pull request #2003 from SkewedZeppelin/revert-private-cache
Revert private cache enabled by default
-rw-r--r--README.md13
-rw-r--r--RELNOTES4
-rw-r--r--etc/Cryptocat.profile1
-rw-r--r--etc/android-studio.profile1
-rw-r--r--etc/apktool.profile1
-rw-r--r--etc/arch-audit.profile1
-rw-r--r--etc/ardour5.profile1
-rw-r--r--etc/arduino.profile1
-rw-r--r--etc/atom.profile1
-rw-r--r--etc/atool.profile1
-rw-r--r--etc/bitlbee.profile1
-rw-r--r--etc/bless.profile1
-rw-r--r--etc/brackets.profile1
-rw-r--r--etc/brasero.profile1
-rw-r--r--etc/cherrytree.profile1
-rw-r--r--etc/cin.profile1
-rw-r--r--etc/clion.profile1
-rw-r--r--etc/clipit.profile1
-rw-r--r--etc/code.profile1
-rw-r--r--etc/conky.profile1
-rw-r--r--etc/curl.profile1
-rw-r--r--etc/default.profile1
-rw-r--r--etc/dex2jar.profile1
-rw-r--r--etc/dia.profile1
-rw-r--r--etc/dnscrypt-proxy.profile1
-rw-r--r--etc/dnsmasq.profile1
-rw-r--r--etc/elinks.profile1
-rw-r--r--etc/empathy.profile3
-rw-r--r--etc/enchant.profile1
-rw-r--r--etc/exiftool.profile1
-rw-r--r--etc/feh.profile1
-rw-r--r--etc/firejail.config5
-rw-r--r--etc/flowblade.profile1
-rw-r--r--etc/fontforge.profile1
-rw-r--r--etc/freecad.profile1
-rw-r--r--etc/freshclam.profile1
-rw-r--r--etc/geany.profile1
-rw-r--r--etc/git.profile1
-rw-r--r--etc/gitg.profile1
-rw-r--r--etc/globaltime.profile1
-rw-r--r--etc/gnome-builder.profile1
-rw-r--r--etc/gnome-documents.profile1
-rw-r--r--etc/gnome-mplayer.profile1
-rw-r--r--etc/gpg-agent.profile1
-rw-r--r--etc/gpg.profile1
-rw-r--r--etc/gthumb.profile1
-rw-r--r--etc/gucharmap.profile1
-rw-r--r--etc/hashcat.profile1
-rw-r--r--etc/highlight.profile1
-rw-r--r--etc/hugin.profile1
-rw-r--r--etc/idea.sh.profile1
-rw-r--r--etc/img2txt.profile1
-rw-r--r--etc/jd-gui.profile1
-rw-r--r--etc/jitsi.profile1
-rw-r--r--etc/keepass.profile1
-rw-r--r--etc/kino.profile1
-rw-r--r--etc/krita.profile1
-rw-r--r--etc/less.profile1
-rw-r--r--etc/luminance-hdr.profile1
-rw-r--r--etc/lximage-qt.profile1
-rw-r--r--etc/lynx.profile1
-rw-r--r--etc/macrofusion.profile1
-rw-r--r--etc/mediainfo.profile1
-rw-r--r--etc/meld.profile1
-rw-r--r--etc/mpd.profile1
-rw-r--r--etc/obs.profile1
-rw-r--r--etc/odt2txt.profile1
-rw-r--r--etc/orage.profile1
-rw-r--r--etc/parole.profile1
-rw-r--r--etc/pdfsam.profile1
-rw-r--r--etc/pidgin.profile1
-rw-r--r--etc/pinta.profile1
-rw-r--r--etc/pix.profile1
-rw-r--r--etc/pycharm-community.profile1
-rw-r--r--etc/qemu-launcher.profile1
-rw-r--r--etc/qemu-system-x86_64.profile1
-rw-r--r--etc/qlipper.profile1
-rw-r--r--etc/quassel.profile3
-rw-r--r--etc/remmina.profile1
-rw-r--r--etc/ristretto.profile1
-rw-r--r--etc/rtorrent.profile1
-rw-r--r--etc/sdat2img.profile1
-rw-r--r--etc/shotcut.profile1
-rw-r--r--etc/skype.profile1
-rw-r--r--etc/skypeforlinux.profile1
-rw-r--r--etc/soundconverter.profile1
-rw-r--r--etc/sqlitebrowser.profile1
-rw-r--r--etc/ssh.profile1
-rw-r--r--etc/synfigstudio.profile1
-rw-r--r--etc/telegram.profile1
-rw-r--r--etc/tilp.profile1
-rw-r--r--etc/tor.profile1
-rw-r--r--etc/totem.profile1
-rw-r--r--etc/uefitool.profile1
-rw-r--r--etc/uudeview.profile1
-rw-r--r--etc/viewnior.profile1
-rw-r--r--etc/w3m.profile1
-rw-r--r--etc/webstorm.profile1
-rw-r--r--etc/wire.profile1
-rw-r--r--etc/xfce4-dict.profile1
-rw-r--r--etc/xfce4-notes.profile1
-rw-r--r--etc/zathura.profile1
-rw-r--r--src/firejail/checkcfg.c9
-rw-r--r--src/firejail/firejail.h2
-rw-r--r--src/firejail/fs.c4
-rw-r--r--src/firejail/main.c4
-rw-r--r--src/firejail/profile.c4
-rw-r--r--src/firejail/sandbox.c11
-rw-r--r--src/man/firejail-profile.txt4
-rw-r--r--src/man/firejail.txt11
110 files changed, 147 insertions, 27 deletions
diff --git a/README.md b/README.md
index cd6d82990..147b0ee1f 100644
--- a/README.md
+++ b/README.md
@@ -100,11 +100,6 @@ We also keep a list of profile fixes for previous released versions in [etc-fixe
100````` 100`````
101# Current development version: 0.9.55 101# Current development version: 0.9.55
102 102
103## Mounting a temporary filesystem on top of ~/.cache directory by default
104
105To disable it globally, set "private-cache no" in /etc/firejail/firejail.config.
106
107
108## New commands: 103## New commands:
109````` 104`````
110 (wireless support for --net) 105 (wireless support for --net)
@@ -128,6 +123,14 @@ To disable it globally, set "private-cache no" in /etc/firejail/firejail.config.
128 123
129 Example: 124 Example:
130 $ firejail --nou2f 125 $ firejail --nou2f
126
127 --private-cache
128 Mount an empty temporary filesystem on top of the .cache
129 directory in user home. All modifications are discarded
130 when the sandbox is closed.
131
132 Example:
133 $ firejail --private-cache
131````` 134`````
132 135
133## New profiles 136## New profiles
diff --git a/RELNOTES b/RELNOTES
index 00e06f62c..4598e9b39 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -1,9 +1,7 @@
1firejail (0.9.55) baseline; urgency=low 1firejail (0.9.55) baseline; urgency=low
2 * work in progress 2 * work in progress
3 * modif: removed CFG_CHROOT_DESKTOP configuration option 3 * modif: removed CFG_CHROOT_DESKTOP configuration option
4 * mounting a temporary filesystem on top of ~/.cache directory by default. 4 * add --private-cache to support private ~/.cache
5 To disable it globally, set "private-cache no" in
6 /etc/firejail/firejail.config.
7 * support full paths in private-lib 5 * support full paths in private-lib
8 * globbing support in private-lib 6 * globbing support in private-lib
9 * new profiles: ms-excel, ms-office, ms-onenote, ms-outlook, ms-powerpoint 7 * new profiles: ms-excel, ms-office, ms-onenote, ms-outlook, ms-powerpoint
diff --git a/etc/Cryptocat.profile b/etc/Cryptocat.profile
index 08c2860b3..f1336be3e 100644
--- a/etc/Cryptocat.profile
+++ b/etc/Cryptocat.profile
@@ -25,5 +25,6 @@ protocol unix,inet,inet6,netlink
25seccomp 25seccomp
26shell none 26shell none
27 27
28private-cache
28private-dev 29private-dev
29private-tmp 30private-tmp
diff --git a/etc/android-studio.profile b/etc/android-studio.profile
index 5ff0b7c3a..d845bd4b9 100644
--- a/etc/android-studio.profile
+++ b/etc/android-studio.profile
@@ -32,6 +32,7 @@ protocol unix,inet,inet6
32seccomp 32seccomp
33shell none 33shell none
34 34
35private-cache
35# private-tmp 36# private-tmp
36 37
37# noexec /tmp breaks 'Android Profiler' 38# noexec /tmp breaks 'Android Profiler'
diff --git a/etc/apktool.profile b/etc/apktool.profile
index d5063d79b..ded17ca58 100644
--- a/etc/apktool.profile
+++ b/etc/apktool.profile
@@ -26,6 +26,7 @@ seccomp
26shell none 26shell none
27 27
28private-bin apktool,bash,java,dirname,basename,expr,sh 28private-bin apktool,bash,java,dirname,basename,expr,sh
29private-cache
29private-dev 30private-dev
30 31
31noexec ${HOME} 32noexec ${HOME}
diff --git a/etc/arch-audit.profile b/etc/arch-audit.profile
index 70e02fc7b..0987ce149 100644
--- a/etc/arch-audit.profile
+++ b/etc/arch-audit.profile
@@ -32,6 +32,7 @@ shell none
32 32
33disable-mnt 33disable-mnt
34private 34private
35private-cache
35private-bin arch-audit 36private-bin arch-audit
36private-dev 37private-dev
37private-tmp 38private-tmp
diff --git a/etc/ardour5.profile b/etc/ardour5.profile
index df42dfaed..c2090af98 100644
--- a/etc/ardour5.profile
+++ b/etc/ardour5.profile
@@ -30,6 +30,7 @@ seccomp
30shell none 30shell none
31 31
32#private-bin sh,ardour4,ardour5,ardour5-copy-mixer,ardour5-export,ardour5-fix_bbtppq,grep,sed,ldd,nm 32#private-bin sh,ardour4,ardour5,ardour5-copy-mixer,ardour5-export,ardour5-fix_bbtppq,grep,sed,ldd,nm
33private-cache
33private-dev 34private-dev
34#private-etc pulse,X11,alternatives,ardour4,ardour5,fonts 35#private-etc pulse,X11,alternatives,ardour4,ardour5,fonts
35private-tmp 36private-tmp
diff --git a/etc/arduino.profile b/etc/arduino.profile
index 14741c964..c8850ccb0 100644
--- a/etc/arduino.profile
+++ b/etc/arduino.profile
@@ -35,6 +35,7 @@ protocol unix,inet,inet6
35seccomp 35seccomp
36shell none 36shell none
37 37
38private-cache
38private-tmp 39private-tmp
39 40
40noexec ${HOME} 41noexec ${HOME}
diff --git a/etc/atom.profile b/etc/atom.profile
index c513c7531..f7e30aeb4 100644
--- a/etc/atom.profile
+++ b/etc/atom.profile
@@ -27,6 +27,7 @@ protocol unix,inet,inet6,netlink
27seccomp 27seccomp
28shell none 28shell none
29 29
30private-cache
30private-dev 31private-dev
31private-tmp 32private-tmp
32 33
diff --git a/etc/atool.profile b/etc/atool.profile
index 83b681437..06eace7d2 100644
--- a/etc/atool.profile
+++ b/etc/atool.profile
@@ -36,6 +36,7 @@ seccomp
36shell none 36shell none
37tracelog 37tracelog
38 38
39private-cache
39# private-bin atool 40# private-bin atool
40private-dev 41private-dev
41private-etc passwd,group 42private-etc passwd,group
diff --git a/etc/bitlbee.profile b/etc/bitlbee.profile
index 1cd5d6a69..6507aeadb 100644
--- a/etc/bitlbee.profile
+++ b/etc/bitlbee.profile
@@ -27,6 +27,7 @@ seccomp
27 27
28disable-mnt 28disable-mnt
29private 29private
30private-cache
30private-dev 31private-dev
31private-tmp 32private-tmp
32read-write /var/lib/bitlbee 33read-write /var/lib/bitlbee
diff --git a/etc/bless.profile b/etc/bless.profile
index 3fd04cae6..1dd756153 100644
--- a/etc/bless.profile
+++ b/etc/bless.profile
@@ -29,6 +29,7 @@ seccomp
29shell none 29shell none
30 30
31# private-bin bless,sh,bash,mono 31# private-bin bless,sh,bash,mono
32private-cache
32private-dev 33private-dev
33private-etc fonts,mono 34private-etc fonts,mono
34private-tmp 35private-tmp
diff --git a/etc/brackets.profile b/etc/brackets.profile
index 22a8dffea..8f1068506 100644
--- a/etc/brackets.profile
+++ b/etc/brackets.profile
@@ -26,4 +26,5 @@ protocol unix,inet,inet6,netlink
26seccomp.drop @clock,@cpu-emulation,@debug,@module,@obsolete,@reboot,@resources,@swap,acct,add_key,bpf,fanotify_init,io_cancel,io_destroy,io_getevents,io_setup,io_submit,iopl,ioprio_set,kcmp,keyctl,mount,name_to_handle_at,nfsservctl,ni_syscall,open_by_handle_at,pciconfig_iobase,pciconfig_read,pciconfig_write,personality,pivot_root,process_vm_readv,ptrace,remap_file_pages,request_key,s390_mmio_read,s390_mmio_write,setdomainname,sethostname,syslog,umount,umount2,userfaultfd,vhangup,vmsplic 26seccomp.drop @clock,@cpu-emulation,@debug,@module,@obsolete,@reboot,@resources,@swap,acct,add_key,bpf,fanotify_init,io_cancel,io_destroy,io_getevents,io_setup,io_submit,iopl,ioprio_set,kcmp,keyctl,mount,name_to_handle_at,nfsservctl,ni_syscall,open_by_handle_at,pciconfig_iobase,pciconfig_read,pciconfig_write,personality,pivot_root,process_vm_readv,ptrace,remap_file_pages,request_key,s390_mmio_read,s390_mmio_write,setdomainname,sethostname,syslog,umount,umount2,userfaultfd,vhangup,vmsplic
27shell none 27shell none
28 28
29private-cache
29private-dev 30private-dev
diff --git a/etc/brasero.profile b/etc/brasero.profile
index 26074af22..a012d4715 100644
--- a/etc/brasero.profile
+++ b/etc/brasero.profile
@@ -27,6 +27,7 @@ shell none
27tracelog 27tracelog
28 28
29# private-bin brasero 29# private-bin brasero
30private-cache
30# private-dev 31# private-dev
31# private-etc fonts 32# private-etc fonts
32# private-tmp 33# private-tmp
diff --git a/etc/cherrytree.profile b/etc/cherrytree.profile
index e33e010aa..c63cfad8d 100644
--- a/etc/cherrytree.profile
+++ b/etc/cherrytree.profile
@@ -34,6 +34,7 @@ seccomp
34shell none 34shell none
35tracelog 35tracelog
36 36
37private-cache
37private-dev 38private-dev
38private-tmp 39private-tmp
39 40
diff --git a/etc/cin.profile b/etc/cin.profile
index e2410e3a5..92baef33a 100644
--- a/etc/cin.profile
+++ b/etc/cin.profile
@@ -29,6 +29,7 @@ seccomp
29shell none 29shell none
30 30
31#private-bin cin,ffmpeg 31#private-bin cin,ffmpeg
32private-cache
32private-dev 33private-dev
33 34
34noexec ${HOME} 35noexec ${HOME}
diff --git a/etc/clion.profile b/etc/clion.profile
index 115df72c4..bcb18114e 100644
--- a/etc/clion.profile
+++ b/etc/clion.profile
@@ -28,6 +28,7 @@ protocol unix,inet,inet6
28seccomp 28seccomp
29shell none 29shell none
30 30
31private-cache
31private-dev 32private-dev
32# private-tmp 33# private-tmp
33 34
diff --git a/etc/clipit.profile b/etc/clipit.profile
index e5660f859..3134fdc3e 100644
--- a/etc/clipit.profile
+++ b/etc/clipit.profile
@@ -29,6 +29,7 @@ seccomp
29shell none 29shell none
30 30
31disable-mnt 31disable-mnt
32private-cache
32private-dev 33private-dev
33private-tmp 34private-tmp
34 35
diff --git a/etc/code.profile b/etc/code.profile
index af7d379ed..ab69008f1 100644
--- a/etc/code.profile
+++ b/etc/code.profile
@@ -26,6 +26,7 @@ protocol unix,inet,inet6,netlink
26seccomp 26seccomp
27shell none 27shell none
28 28
29private-cache
29private-dev 30private-dev
30private-tmp 31private-tmp
31 32
diff --git a/etc/conky.profile b/etc/conky.profile
index fe90ac099..af275b915 100644
--- a/etc/conky.profile
+++ b/etc/conky.profile
@@ -28,6 +28,7 @@ seccomp
28shell none 28shell none
29 29
30disable-mnt 30disable-mnt
31private-cache
31private-dev 32private-dev
32private-tmp 33private-tmp
33 34
diff --git a/etc/curl.profile b/etc/curl.profile
index 521cd20cc..1d2515f51 100644
--- a/etc/curl.profile
+++ b/etc/curl.profile
@@ -29,6 +29,7 @@ seccomp
29shell none 29shell none
30 30
31# private-bin curl 31# private-bin curl
32private-cache
32private-dev 33private-dev
33# private-etc resolv.conf 34# private-etc resolv.conf
34private-tmp 35private-tmp
diff --git a/etc/default.profile b/etc/default.profile
index 9a2fcae64..42c1056c5 100644
--- a/etc/default.profile
+++ b/etc/default.profile
@@ -33,6 +33,7 @@ seccomp
33# disable-mnt 33# disable-mnt
34# private 34# private
35# private-bin program 35# private-bin program
36# private-cache
36# private-dev 37# private-dev
37# private-etc none 38# private-etc none
38# private-lib 39# private-lib
diff --git a/etc/dex2jar.profile b/etc/dex2jar.profile
index 0634c0eaf..aeef46413 100644
--- a/etc/dex2jar.profile
+++ b/etc/dex2jar.profile
@@ -34,6 +34,7 @@ seccomp
34shell none 34shell none
35 35
36private-bin dex2jar,java,sh,bash,expr,dirname,ls,uname,grep 36private-bin dex2jar,java,sh,bash,expr,dirname,ls,uname,grep
37private-cache
37private-dev 38private-dev
38 39
39noexec ${HOME} 40noexec ${HOME}
diff --git a/etc/dia.profile b/etc/dia.profile
index 49c6727f9..fca14236f 100644
--- a/etc/dia.profile
+++ b/etc/dia.profile
@@ -30,6 +30,7 @@ shell none
30 30
31disable-mnt 31disable-mnt
32#private-bin dia 32#private-bin dia
33private-cache
33private-dev 34private-dev
34private-tmp 35private-tmp
35 36
diff --git a/etc/dnscrypt-proxy.profile b/etc/dnscrypt-proxy.profile
index 4d0afc159..0971451c4 100644
--- a/etc/dnscrypt-proxy.profile
+++ b/etc/dnscrypt-proxy.profile
@@ -27,6 +27,7 @@ seccomp.drop mount,umount2,ptrace,kexec_load,kexec_file_load,open_by_handle_at,i
27 27
28disable-mnt 28disable-mnt
29private 29private
30private-cache
30private-dev 31private-dev
31 32
32# mdwe can break modules/plugins 33# mdwe can break modules/plugins
diff --git a/etc/dnsmasq.profile b/etc/dnsmasq.profile
index f71f5bb02..fc1209c1e 100644
--- a/etc/dnsmasq.profile
+++ b/etc/dnsmasq.profile
@@ -28,4 +28,5 @@ seccomp
28 28
29disable-mnt 29disable-mnt
30private 30private
31private-cache
31private-dev 32private-dev
diff --git a/etc/elinks.profile b/etc/elinks.profile
index 5d28ac0c8..6878c4fe0 100644
--- a/etc/elinks.profile
+++ b/etc/elinks.profile
@@ -31,6 +31,7 @@ shell none
31tracelog 31tracelog
32 32
33# private-bin elinks 33# private-bin elinks
34private-cache
34private-dev 35private-dev
35# private-etc none 36# private-etc none
36private-tmp 37private-tmp
diff --git a/etc/empathy.profile b/etc/empathy.profile
index b9d682322..9d70afcb8 100644
--- a/etc/empathy.profile
+++ b/etc/empathy.profile
@@ -20,3 +20,6 @@ noroot
20notv 20notv
21protocol unix,inet,inet6 21protocol unix,inet,inet6
22seccomp 22seccomp
23
24private-cache
25private-tmp
diff --git a/etc/enchant.profile b/etc/enchant.profile
index 29472313d..a495122dc 100644
--- a/etc/enchant.profile
+++ b/etc/enchant.profile
@@ -30,6 +30,7 @@ shell none
30tracelog 30tracelog
31 31
32# private-bin enchant, enchant-* 32# private-bin enchant, enchant-*
33private-cache
33private-dev 34private-dev
34private-etc none 35private-etc none
35private-tmp 36private-tmp
diff --git a/etc/exiftool.profile b/etc/exiftool.profile
index 2522a32a3..2666397f4 100644
--- a/etc/exiftool.profile
+++ b/etc/exiftool.profile
@@ -36,6 +36,7 @@ shell none
36tracelog 36tracelog
37 37
38# private-bin exiftool,perl 38# private-bin exiftool,perl
39private-cache
39private-dev 40private-dev
40private-etc none 41private-etc none
41private-tmp 42private-tmp
diff --git a/etc/feh.profile b/etc/feh.profile
index 657f05f3c..c79e98d1c 100644
--- a/etc/feh.profile
+++ b/etc/feh.profile
@@ -27,6 +27,7 @@ seccomp
27shell none 27shell none
28 28
29private-bin feh,jpegexiforient,jpegtran 29private-bin feh,jpegexiforient,jpegtran
30private-cache
30private-dev 31private-dev
31private-etc feh 32private-etc feh
32private-tmp 33private-tmp
diff --git a/etc/firejail.config b/etc/firejail.config
index 42dfaf3c6..1f47f77d0 100644
--- a/etc/firejail.config
+++ b/etc/firejail.config
@@ -56,11 +56,6 @@
56# Remove /usr/local directories from private-bin list, default disabled. 56# Remove /usr/local directories from private-bin list, default disabled.
57# private-bin-no-local no 57# private-bin-no-local no
58 58
59# Mount an empty temporary filesystem on top of the .cache
60# directory in user home. All modifications are discarded when
61# the sandbox is closed. Default enabled.
62# private-cache yes
63
64# Enable or disable private-home feature, default enabled 59# Enable or disable private-home feature, default enabled
65# private-home yes 60# private-home yes
66 61
diff --git a/etc/flowblade.profile b/etc/flowblade.profile
index e06107f0f..9d399931d 100644
--- a/etc/flowblade.profile
+++ b/etc/flowblade.profile
@@ -31,6 +31,7 @@ protocol unix,inet,inet6,netlink
31seccomp 31seccomp
32shell none 32shell none
33 33
34private-cache
34private-dev 35private-dev
35private-tmp 36private-tmp
36 37
diff --git a/etc/fontforge.profile b/etc/fontforge.profile
index 088ed626b..c80588a8b 100644
--- a/etc/fontforge.profile
+++ b/etc/fontforge.profile
@@ -32,6 +32,7 @@ protocol unix
32seccomp 32seccomp
33shell none 33shell none
34 34
35private-cache
35private-dev 36private-dev
36private-tmp 37private-tmp
37 38
diff --git a/etc/freecad.profile b/etc/freecad.profile
index dc5738e01..9ea4e0f2b 100644
--- a/etc/freecad.profile
+++ b/etc/freecad.profile
@@ -29,6 +29,7 @@ seccomp
29shell none 29shell none
30 30
31private-bin freecad,freecadcmd 31private-bin freecad,freecadcmd
32private-cache
32private-dev 33private-dev
33private-tmp 34private-tmp
34 35
diff --git a/etc/freshclam.profile b/etc/freshclam.profile
index 08eac5595..4e224dd3e 100644
--- a/etc/freshclam.profile
+++ b/etc/freshclam.profile
@@ -24,6 +24,7 @@ tracelog
24 24
25disable-mnt 25disable-mnt
26private 26private
27private-cache
27private-dev 28private-dev
28private-tmp 29private-tmp
29writable-var 30writable-var
diff --git a/etc/geany.profile b/etc/geany.profile
index 35e405319..9db533e8c 100644
--- a/etc/geany.profile
+++ b/etc/geany.profile
@@ -25,5 +25,6 @@ protocol unix,inet,inet6
25seccomp 25seccomp
26shell none 26shell none
27 27
28private-cache
28private-dev 29private-dev
29private-tmp 30private-tmp
diff --git a/etc/git.profile b/etc/git.profile
index 7dac03b1b..1bf9e8e4b 100644
--- a/etc/git.profile
+++ b/etc/git.profile
@@ -34,4 +34,5 @@ protocol unix,inet,inet6
34seccomp 34seccomp
35shell none 35shell none
36 36
37private-cache
37private-dev 38private-dev
diff --git a/etc/gitg.profile b/etc/gitg.profile
index 39cbdc53d..deee7c994 100644
--- a/etc/gitg.profile
+++ b/etc/gitg.profile
@@ -29,6 +29,7 @@ seccomp
29shell none 29shell none
30 30
31private-bin gitg,git,ssh 31private-bin gitg,git,ssh
32private-cache
32private-dev 33private-dev
33private-tmp 34private-tmp
34 35
diff --git a/etc/globaltime.profile b/etc/globaltime.profile
index 19820ce85..0df6b5e63 100644
--- a/etc/globaltime.profile
+++ b/etc/globaltime.profile
@@ -28,6 +28,7 @@ seccomp
28shell none 28shell none
29 29
30disable-mnt 30disable-mnt
31private-cache
31private-dev 32private-dev
32private-tmp 33private-tmp
33 34
diff --git a/etc/gnome-builder.profile b/etc/gnome-builder.profile
index dfee1ae08..4ddfc456a 100644
--- a/etc/gnome-builder.profile
+++ b/etc/gnome-builder.profile
@@ -23,4 +23,5 @@ protocol unix,inet,inet6
23seccomp 23seccomp
24shell none 24shell none
25 25
26private-cache
26private-dev 27private-dev
diff --git a/etc/gnome-documents.profile b/etc/gnome-documents.profile
index 9089d7ee8..8a67d6e5c 100644
--- a/etc/gnome-documents.profile
+++ b/etc/gnome-documents.profile
@@ -30,6 +30,7 @@ seccomp
30shell none 30shell none
31tracelog 31tracelog
32 32
33private-cache
33private-dev 34private-dev
34private-tmp 35private-tmp
35 36
diff --git a/etc/gnome-mplayer.profile b/etc/gnome-mplayer.profile
index 7cf97a79f..f54219174 100644
--- a/etc/gnome-mplayer.profile
+++ b/etc/gnome-mplayer.profile
@@ -22,6 +22,7 @@ seccomp
22shell none 22shell none
23 23
24# private-bin gnome-mplayer,mplayer 24# private-bin gnome-mplayer,mplayer
25private-cache
25private-dev 26private-dev
26private-tmp 27private-tmp
27 28
diff --git a/etc/gpg-agent.profile b/etc/gpg-agent.profile
index 7f50e1e8d..85020fc2e 100644
--- a/etc/gpg-agent.profile
+++ b/etc/gpg-agent.profile
@@ -31,4 +31,5 @@ shell none
31tracelog 31tracelog
32 32
33# private-bin gpg-agent,gpg 33# private-bin gpg-agent,gpg
34private-cache
34private-dev 35private-dev
diff --git a/etc/gpg.profile b/etc/gpg.profile
index 7eb8a3ac8..ab43152d8 100644
--- a/etc/gpg.profile
+++ b/etc/gpg.profile
@@ -31,4 +31,5 @@ shell none
31tracelog 31tracelog
32 32
33# private-bin gpg,gpg-agent 33# private-bin gpg,gpg-agent
34private-cache
34private-dev 35private-dev
diff --git a/etc/gthumb.profile b/etc/gthumb.profile
index eb0c38ec2..77ce42b36 100644
--- a/etc/gthumb.profile
+++ b/etc/gthumb.profile
@@ -29,5 +29,6 @@ shell none
29tracelog 29tracelog
30 30
31private-bin gthumb 31private-bin gthumb
32private-cache
32private-dev 33private-dev
33private-tmp 34private-tmp
diff --git a/etc/gucharmap.profile b/etc/gucharmap.profile
index 16ea2047d..60a13af3a 100644
--- a/etc/gucharmap.profile
+++ b/etc/gucharmap.profile
@@ -28,6 +28,7 @@ shell none
28 28
29disable-mnt 29disable-mnt
30private 30private
31private-cache
31private-dev 32private-dev
32private-tmp 33private-tmp
33 34
diff --git a/etc/hashcat.profile b/etc/hashcat.profile
index d61165a91..0fb8b8704 100644
--- a/etc/hashcat.profile
+++ b/etc/hashcat.profile
@@ -31,6 +31,7 @@ shell none
31 31
32disable-mnt 32disable-mnt
33private-bin hashcat 33private-bin hashcat
34private-cache
34private-dev 35private-dev
35private-tmp 36private-tmp
36 37
diff --git a/etc/highlight.profile b/etc/highlight.profile
index a93019696..cd48df10c 100644
--- a/etc/highlight.profile
+++ b/etc/highlight.profile
@@ -30,6 +30,7 @@ shell none
30tracelog 30tracelog
31 31
32private-bin highlight 32private-bin highlight
33private-cache
33private-dev 34private-dev
34# private-etc none 35# private-etc none
35private-tmp 36private-tmp
diff --git a/etc/hugin.profile b/etc/hugin.profile
index 761c4e039..f92acac66 100644
--- a/etc/hugin.profile
+++ b/etc/hugin.profile
@@ -28,6 +28,7 @@ seccomp
28shell none 28shell none
29 29
30private-bin PTBatcherGUI,calibrate_lens_gui,hugin,hugin_stitch_project,align_image_stack,autooptimiser,celeste_standalone,checkpto,cpclean,cpfind,deghosting_mask,fulla,geocpset,hugin_executor,hugin_hdrmerge,hugin_lensdb,icpfind,linefind,nona,pano_modify,pano_trafo,pto_gen,pto_lensstack,pto_mask,pto_merge,pto_move,pto_template,pto_var,tca_correct,verdandi,vig_optimize,enblend 30private-bin PTBatcherGUI,calibrate_lens_gui,hugin,hugin_stitch_project,align_image_stack,autooptimiser,celeste_standalone,checkpto,cpclean,cpfind,deghosting_mask,fulla,geocpset,hugin_executor,hugin_hdrmerge,hugin_lensdb,icpfind,linefind,nona,pano_modify,pano_trafo,pto_gen,pto_lensstack,pto_mask,pto_merge,pto_move,pto_template,pto_var,tca_correct,verdandi,vig_optimize,enblend
31private-cache
31private-dev 32private-dev
32private-tmp 33private-tmp
33 34
diff --git a/etc/idea.sh.profile b/etc/idea.sh.profile
index caec416e9..06328ccbf 100644
--- a/etc/idea.sh.profile
+++ b/etc/idea.sh.profile
@@ -32,6 +32,7 @@ protocol unix,inet,inet6
32seccomp 32seccomp
33shell none 33shell none
34 34
35private-cache
35private-dev 36private-dev
36# private-tmp 37# private-tmp
37 38
diff --git a/etc/img2txt.profile b/etc/img2txt.profile
index 1cc8d2953..bbefd8044 100644
--- a/etc/img2txt.profile
+++ b/etc/img2txt.profile
@@ -27,6 +27,7 @@ shell none
27tracelog 27tracelog
28 28
29# private-bin img2txt 29# private-bin img2txt
30private-cache
30private-dev 31private-dev
31# private-etc none 32# private-etc none
32private-tmp 33private-tmp
diff --git a/etc/jd-gui.profile b/etc/jd-gui.profile
index 9a325d18b..ca23cedfa 100644
--- a/etc/jd-gui.profile
+++ b/etc/jd-gui.profile
@@ -36,6 +36,7 @@ seccomp
36shell none 36shell none
37 37
38private-bin jd-gui,sh,bash 38private-bin jd-gui,sh,bash
39private-cache
39private-dev 40private-dev
40private-tmp 41private-tmp
41 42
diff --git a/etc/jitsi.profile b/etc/jitsi.profile
index cb2f2092a..b3b09f4b1 100644
--- a/etc/jitsi.profile
+++ b/etc/jitsi.profile
@@ -31,4 +31,5 @@ shell none
31tracelog 31tracelog
32 32
33disable-mnt 33disable-mnt
34private-cache
34private-tmp 35private-tmp
diff --git a/etc/keepass.profile b/etc/keepass.profile
index 9ae6abfb2..03f27d3fa 100644
--- a/etc/keepass.profile
+++ b/etc/keepass.profile
@@ -33,6 +33,7 @@ protocol unix,inet,inet6
33seccomp 33seccomp
34shell none 34shell none
35 35
36private-cache
36private-dev 37private-dev
37private-tmp 38private-tmp
38 39
diff --git a/etc/kino.profile b/etc/kino.profile
index 054b185dd..5144ce448 100644
--- a/etc/kino.profile
+++ b/etc/kino.profile
@@ -25,6 +25,7 @@ protocol unix
25seccomp 25seccomp
26shell none 26shell none
27 27
28private-cache
28private-dev 29private-dev
29private-tmp 30private-tmp
30 31
diff --git a/etc/krita.profile b/etc/krita.profile
index 99fd235db..01f7b6ff8 100644
--- a/etc/krita.profile
+++ b/etc/krita.profile
@@ -36,6 +36,7 @@ protocol unix
36seccomp 36seccomp
37shell none 37shell none
38 38
39private-cache
39private-dev 40private-dev
40private-tmp 41private-tmp
41 42
diff --git a/etc/less.profile b/etc/less.profile
index 9b04329f2..fd0f84c71 100644
--- a/etc/less.profile
+++ b/etc/less.profile
@@ -24,6 +24,7 @@ writable-var-log
24# Enable private-bin and private-lib if you are not using any filter. 24# Enable private-bin and private-lib if you are not using any filter.
25# private-bin less 25# private-bin less
26# private-lib 26# private-lib
27private-cache
27private-dev 28private-dev
28 29
29memory-deny-write-execute 30memory-deny-write-execute
diff --git a/etc/luminance-hdr.profile b/etc/luminance-hdr.profile
index 8d55f5de2..8104a2886 100644
--- a/etc/luminance-hdr.profile
+++ b/etc/luminance-hdr.profile
@@ -28,6 +28,7 @@ shell none
28tracelog 28tracelog
29 29
30#private-bin luminance-hdr,luminance-hdr-cli,align_image_stack 30#private-bin luminance-hdr,luminance-hdr-cli,align_image_stack
31private-cache
31private-dev 32private-dev
32private-tmp 33private-tmp
33 34
diff --git a/etc/lximage-qt.profile b/etc/lximage-qt.profile
index 971d969ad..e50455532 100644
--- a/etc/lximage-qt.profile
+++ b/etc/lximage-qt.profile
@@ -27,6 +27,7 @@ protocol unix
27seccomp 27seccomp
28shell none 28shell none
29 29
30private-cache
30private-dev 31private-dev
31private-tmp 32private-tmp
32 33
diff --git a/etc/lynx.profile b/etc/lynx.profile
index fec9661c6..ba5322787 100644
--- a/etc/lynx.profile
+++ b/etc/lynx.profile
@@ -29,6 +29,7 @@ shell none
29tracelog 29tracelog
30 30
31# private-bin lynx 31# private-bin lynx
32private-cache
32private-dev 33private-dev
33# private-etc none 34# private-etc none
34private-tmp 35private-tmp
diff --git a/etc/macrofusion.profile b/etc/macrofusion.profile
index bbef46567..6d20d7261 100644
--- a/etc/macrofusion.profile
+++ b/etc/macrofusion.profile
@@ -35,6 +35,7 @@ seccomp
35shell none 35shell none
36 36
37private-bin python*,macrofusion,env,enfuse,exiftool,align_image_stack 37private-bin python*,macrofusion,env,enfuse,exiftool,align_image_stack
38private-cache
38private-dev 39private-dev
39private-tmp 40private-tmp
40 41
diff --git a/etc/mediainfo.profile b/etc/mediainfo.profile
index d79a0e886..48db03c27 100644
--- a/etc/mediainfo.profile
+++ b/etc/mediainfo.profile
@@ -30,6 +30,7 @@ shell none
30tracelog 30tracelog
31 31
32private-bin mediainfo 32private-bin mediainfo
33private-cache
33private-dev 34private-dev
34private-etc none 35private-etc none
35private-tmp 36private-tmp
diff --git a/etc/meld.profile b/etc/meld.profile
index 78d9e0c76..1e85343df 100644
--- a/etc/meld.profile
+++ b/etc/meld.profile
@@ -28,6 +28,7 @@ seccomp
28shell none 28shell none
29 29
30private-bin meld,python* 30private-bin meld,python*
31private-cache
31private-dev 32private-dev
32private-tmp 33private-tmp
33 34
diff --git a/etc/mpd.profile b/etc/mpd.profile
index 7f3e42e08..2ad520633 100644
--- a/etc/mpd.profile
+++ b/etc/mpd.profile
@@ -28,6 +28,7 @@ seccomp
28shell none 28shell none
29 29
30#private-bin mpd,bash 30#private-bin mpd,bash
31private-cache
31private-dev 32private-dev
32private-tmp 33private-tmp
33 34
diff --git a/etc/obs.profile b/etc/obs.profile
index 9a0fab3f8..7529dd1bb 100644
--- a/etc/obs.profile
+++ b/etc/obs.profile
@@ -25,6 +25,7 @@ shell none
25tracelog 25tracelog
26 26
27private-bin obs 27private-bin obs
28private-cache
28private-dev 29private-dev
29private-tmp 30private-tmp
30 31
diff --git a/etc/odt2txt.profile b/etc/odt2txt.profile
index 32d51f478..aea6b79d2 100644
--- a/etc/odt2txt.profile
+++ b/etc/odt2txt.profile
@@ -30,6 +30,7 @@ shell none
30tracelog 30tracelog
31 31
32private-bin odt2txt 32private-bin odt2txt
33private-cache
33private-dev 34private-dev
34private-etc none 35private-etc none
35private-tmp 36private-tmp
diff --git a/etc/orage.profile b/etc/orage.profile
index 8e218eb2d..2ac420f05 100644
--- a/etc/orage.profile
+++ b/etc/orage.profile
@@ -29,6 +29,7 @@ seccomp
29shell none 29shell none
30 30
31disable-mnt 31disable-mnt
32private-cache
32private-dev 33private-dev
33private-tmp 34private-tmp
34 35
diff --git a/etc/parole.profile b/etc/parole.profile
index c659614e3..36ae97726 100644
--- a/etc/parole.profile
+++ b/etc/parole.profile
@@ -22,4 +22,5 @@ seccomp
22shell none 22shell none
23 23
24private-bin parole,dbus-launch 24private-bin parole,dbus-launch
25private-cache
25private-etc passwd,group,fonts 26private-etc passwd,group,fonts
diff --git a/etc/pdfsam.profile b/etc/pdfsam.profile
index a5d9c2d65..fbd7ec179 100644
--- a/etc/pdfsam.profile
+++ b/etc/pdfsam.profile
@@ -37,6 +37,7 @@ seccomp
37shell none 37shell none
38 38
39private-bin pdfsam,sh,bash,java,archlinux-java,grep,awk,dirname,uname,which,sort,find,readlink,expr,ls,java-config 39private-bin pdfsam,sh,bash,java,archlinux-java,grep,awk,dirname,uname,which,sort,find,readlink,expr,ls,java-config
40private-cache
40private-dev 41private-dev
41private-tmp 42private-tmp
42 43
diff --git a/etc/pidgin.profile b/etc/pidgin.profile
index ac2597a68..e0fd270af 100644
--- a/etc/pidgin.profile
+++ b/etc/pidgin.profile
@@ -26,6 +26,7 @@ shell none
26tracelog 26tracelog
27 27
28private-bin pidgin 28private-bin pidgin
29private-cache
29private-dev 30private-dev
30private-tmp 31private-tmp
31 32
diff --git a/etc/pinta.profile b/etc/pinta.profile
index 73fabb95f..010de0d3e 100644
--- a/etc/pinta.profile
+++ b/etc/pinta.profile
@@ -29,6 +29,7 @@ seccomp
29shell none 29shell none
30 30
31private-dev 31private-dev
32private-cache
32private-tmp 33private-tmp
33 34
34noexec ${HOME} 35noexec ${HOME}
diff --git a/etc/pix.profile b/etc/pix.profile
index ec495269d..dfc6d780e 100644
--- a/etc/pix.profile
+++ b/etc/pix.profile
@@ -30,5 +30,6 @@ shell none
30tracelog 30tracelog
31 31
32private-bin pix 32private-bin pix
33private-cache
33private-dev 34private-dev
34private-tmp 35private-tmp
diff --git a/etc/pycharm-community.profile b/etc/pycharm-community.profile
index bbb907577..89bb9dadf 100644
--- a/etc/pycharm-community.profile
+++ b/etc/pycharm-community.profile
@@ -32,6 +32,7 @@ tracelog
32 32
33# private-etc fonts,passwd - minimal required to run but will probably break 33# private-etc fonts,passwd - minimal required to run but will probably break
34# program! 34# program!
35private-cache
35private-dev 36private-dev
36private-tmp 37private-tmp
37 38
diff --git a/etc/qemu-launcher.profile b/etc/qemu-launcher.profile
index 20b14c0ca..263c71535 100644
--- a/etc/qemu-launcher.profile
+++ b/etc/qemu-launcher.profile
@@ -23,6 +23,7 @@ seccomp
23shell none 23shell none
24tracelog 24tracelog
25 25
26private-cache
26private-tmp 27private-tmp
27 28
28noexec /tmp 29noexec /tmp
diff --git a/etc/qemu-system-x86_64.profile b/etc/qemu-system-x86_64.profile
index 7a60007fe..3ab25e92e 100644
--- a/etc/qemu-system-x86_64.profile
+++ b/etc/qemu-system-x86_64.profile
@@ -22,6 +22,7 @@ seccomp
22shell none 22shell none
23tracelog 23tracelog
24 24
25private-cache
25private-tmp 26private-tmp
26 27
27noexec /tmp 28noexec /tmp
diff --git a/etc/qlipper.profile b/etc/qlipper.profile
index 237cd240b..079270909 100644
--- a/etc/qlipper.profile
+++ b/etc/qlipper.profile
@@ -28,6 +28,7 @@ seccomp
28shell none 28shell none
29 29
30disable-mnt 30disable-mnt
31private-cache
31private-dev 32private-dev
32private-tmp 33private-tmp
33 34
diff --git a/etc/quassel.profile b/etc/quassel.profile
index 6783d5a43..9c5bbe1d3 100644
--- a/etc/quassel.profile
+++ b/etc/quassel.profile
@@ -19,3 +19,6 @@ noroot
19notv 19notv
20protocol unix,inet,inet6 20protocol unix,inet,inet6
21seccomp 21seccomp
22
23private-cache
24private-tmp
diff --git a/etc/remmina.profile b/etc/remmina.profile
index 4cd93b567..50746c60e 100644
--- a/etc/remmina.profile
+++ b/etc/remmina.profile
@@ -28,6 +28,7 @@ seccomp
28# seccomp.keep access,arch_prctl,brk,chmod,clock_getres,clock_gettime,clone,close,connect,dup3,eventfd2,execve,fadvise64,fallocate,fcntl,flock,fstat,fstatfs,fsync,ftruncate,futex,getdents,getegid,geteuid,getgid,getpeername,getpid,getrandom,getresgid,getresuid,getsockname,getsockopt,gettid,getuid,inotify_add_watch,inotify_init1,inotify_rm_watch,ioctl,lseek,lstat,madvise,memfd_create,mmap,mprotect,mremap,munmap,nanosleep,open,openat,pipe,pipe2,poll,prctl,prlimit64,pwrite64,read,readlink,recvfrom,recvmsg,rename,rt_sigaction,rt_sigprocmask,sendmmsg,sendmsg,sendto,set_robust_list,setsockopt,set_tid_address,shmat,shmctl,shmdt,shmget,shutdown,socket,stat,statfs,sysinfo,tgkill,uname,utimensat,write,writev 28# seccomp.keep access,arch_prctl,brk,chmod,clock_getres,clock_gettime,clone,close,connect,dup3,eventfd2,execve,fadvise64,fallocate,fcntl,flock,fstat,fstatfs,fsync,ftruncate,futex,getdents,getegid,geteuid,getgid,getpeername,getpid,getrandom,getresgid,getresuid,getsockname,getsockopt,gettid,getuid,inotify_add_watch,inotify_init1,inotify_rm_watch,ioctl,lseek,lstat,madvise,memfd_create,mmap,mprotect,mremap,munmap,nanosleep,open,openat,pipe,pipe2,poll,prctl,prlimit64,pwrite64,read,readlink,recvfrom,recvmsg,rename,rt_sigaction,rt_sigprocmask,sendmmsg,sendmsg,sendto,set_robust_list,setsockopt,set_tid_address,shmat,shmctl,shmdt,shmget,shutdown,socket,stat,statfs,sysinfo,tgkill,uname,utimensat,write,writev
29shell none 29shell none
30 30
31private-cache
31private-dev 32private-dev
32private-tmp 33private-tmp
33 34
diff --git a/etc/ristretto.profile b/etc/ristretto.profile
index 7628d386f..08c9dbf2d 100644
--- a/etc/ristretto.profile
+++ b/etc/ristretto.profile
@@ -29,6 +29,7 @@ protocol unix
29seccomp 29seccomp
30shell none 30shell none
31 31
32private-cache
32private-dev 33private-dev
33private-tmp 34private-tmp
34 35
diff --git a/etc/rtorrent.profile b/etc/rtorrent.profile
index 57e933467..b4a2921ff 100644
--- a/etc/rtorrent.profile
+++ b/etc/rtorrent.profile
@@ -26,5 +26,6 @@ seccomp
26shell none 26shell none
27 27
28private-bin rtorrent 28private-bin rtorrent
29private-cache
29private-dev 30private-dev
30private-tmp 31private-tmp
diff --git a/etc/sdat2img.profile b/etc/sdat2img.profile
index a0674acbc..fbe1b2de5 100644
--- a/etc/sdat2img.profile
+++ b/etc/sdat2img.profile
@@ -34,6 +34,7 @@ seccomp
34shell none 34shell none
35 35
36private-bin sdat2img,env,python* 36private-bin sdat2img,env,python*
37private-cache
37private-dev 38private-dev
38 39
39noexec ${HOME} 40noexec ${HOME}
diff --git a/etc/shotcut.profile b/etc/shotcut.profile
index d76c486ea..e5a8ce4df 100644
--- a/etc/shotcut.profile
+++ b/etc/shotcut.profile
@@ -26,6 +26,7 @@ seccomp
26shell none 26shell none
27 27
28#private-bin shotcut,melt,qmelt,nice 28#private-bin shotcut,melt,qmelt,nice
29private-cache
29private-dev 30private-dev
30 31
31#noexec ${HOME} 32#noexec ${HOME}
diff --git a/etc/skype.profile b/etc/skype.profile
index f08542079..04f15b454 100644
--- a/etc/skype.profile
+++ b/etc/skype.profile
@@ -26,6 +26,7 @@ shell none
26 26
27disable-mnt 27disable-mnt
28#private-bin skype,bash 28#private-bin skype,bash
29private-cache
29private-dev 30private-dev
30private-tmp 31private-tmp
31 32
diff --git a/etc/skypeforlinux.profile b/etc/skypeforlinux.profile
index c2270ce39..c675f0345 100644
--- a/etc/skypeforlinux.profile
+++ b/etc/skypeforlinux.profile
@@ -25,6 +25,7 @@ seccomp
25shell none 25shell none
26 26
27disable-mnt 27disable-mnt
28private-cache
28# private-dev - needs /dev/disk 29# private-dev - needs /dev/disk
29private-tmp 30private-tmp
30 31
diff --git a/etc/soundconverter.profile b/etc/soundconverter.profile
index 3d231cf5b..b15ba266b 100644
--- a/etc/soundconverter.profile
+++ b/etc/soundconverter.profile
@@ -31,6 +31,7 @@ protocol unix
31seccomp 31seccomp
32shell none 32shell none
33 33
34private-cache
34private-dev 35private-dev
35private-tmp 36private-tmp
36 37
diff --git a/etc/sqlitebrowser.profile b/etc/sqlitebrowser.profile
index 9711276c8..7bb7080e3 100644
--- a/etc/sqlitebrowser.profile
+++ b/etc/sqlitebrowser.profile
@@ -29,6 +29,7 @@ seccomp
29shell none 29shell none
30 30
31private-bin sqlitebrowser 31private-bin sqlitebrowser
32private-cache
32private-dev 33private-dev
33private-tmp 34private-tmp
34 35
diff --git a/etc/ssh.profile b/etc/ssh.profile
index df86a276e..dfaeb9688 100644
--- a/etc/ssh.profile
+++ b/etc/ssh.profile
@@ -29,6 +29,7 @@ seccomp
29shell none 29shell none
30tracelog 30tracelog
31 31
32private-cache
32private-dev 33private-dev
33# private-tmp # Breaks when exiting 34# private-tmp # Breaks when exiting
34 35
diff --git a/etc/synfigstudio.profile b/etc/synfigstudio.profile
index 677920266..dcfd730ee 100644
--- a/etc/synfigstudio.profile
+++ b/etc/synfigstudio.profile
@@ -29,6 +29,7 @@ seccomp
29shell none 29shell none
30 30
31#private-bin synfigstudio,synfig,ffmpeg 31#private-bin synfigstudio,synfig,ffmpeg
32private-cache
32private-dev 33private-dev
33private-tmp 34private-tmp
34 35
diff --git a/etc/telegram.profile b/etc/telegram.profile
index db055a898..9ffb9f287 100644
--- a/etc/telegram.profile
+++ b/etc/telegram.profile
@@ -23,6 +23,7 @@ protocol unix,inet,inet6
23seccomp 23seccomp
24 24
25disable-mnt 25disable-mnt
26private-cache
26private-tmp 27private-tmp
27 28
28noexec ${HOME} 29noexec ${HOME}
diff --git a/etc/tilp.profile b/etc/tilp.profile
index a9cccbd7b..7d63df630 100644
--- a/etc/tilp.profile
+++ b/etc/tilp.profile
@@ -28,6 +28,7 @@ tracelog
28 28
29disable-mnt 29disable-mnt
30private-bin tilp 30private-bin tilp
31private-cache
31private-etc fonts 32private-etc fonts
32private-tmp 33private-tmp
33 34
diff --git a/etc/tor.profile b/etc/tor.profile
index 5029cf9b1..e37fd232c 100644
--- a/etc/tor.profile
+++ b/etc/tor.profile
@@ -41,6 +41,7 @@ writable-var
41disable-mnt 41disable-mnt
42private 42private
43private-bin tor,bash 43private-bin tor,bash
44private-cache
44private-dev 45private-dev
45private-etc tor,passwd 46private-etc tor,passwd
46private-tmp 47private-tmp
diff --git a/etc/totem.profile b/etc/totem.profile
index fecf12a4c..0b9252d6c 100644
--- a/etc/totem.profile
+++ b/etc/totem.profile
@@ -28,6 +28,7 @@ seccomp
28shell none 28shell none
29 29
30private-bin totem 30private-bin totem
31private-cache
31private-dev 32private-dev
32# private-etc fonts 33# private-etc fonts
33private-tmp 34private-tmp
diff --git a/etc/uefitool.profile b/etc/uefitool.profile
index 2ab2d2652..70d694ac9 100644
--- a/etc/uefitool.profile
+++ b/etc/uefitool.profile
@@ -27,6 +27,7 @@ protocol unix
27seccomp 27seccomp
28shell none 28shell none
29 29
30private-cache
30private-dev 31private-dev
31private-tmp 32private-tmp
32 33
diff --git a/etc/uudeview.profile b/etc/uudeview.profile
index b64ecaa3e..d09cbd97a 100644
--- a/etc/uudeview.profile
+++ b/etc/uudeview.profile
@@ -18,6 +18,7 @@ shell none
18tracelog 18tracelog
19 19
20private-bin uudeview 20private-bin uudeview
21private-cache
21private-dev 22private-dev
22private-etc ld.so.preload 23private-etc ld.so.preload
23 24
diff --git a/etc/viewnior.profile b/etc/viewnior.profile
index d867e0e05..ce4983337 100644
--- a/etc/viewnior.profile
+++ b/etc/viewnior.profile
@@ -34,6 +34,7 @@ shell none
34tracelog 34tracelog
35 35
36private-bin viewnior 36private-bin viewnior
37private-cache
37private-dev 38private-dev
38private-etc fonts 39private-etc fonts
39private-tmp 40private-tmp
diff --git a/etc/w3m.profile b/etc/w3m.profile
index 59544f5b5..bfc7874cf 100644
--- a/etc/w3m.profile
+++ b/etc/w3m.profile
@@ -31,6 +31,7 @@ shell none
31tracelog 31tracelog
32 32
33# private-bin w3m 33# private-bin w3m
34private-cache
34private-dev 35private-dev
35private-etc resolv.conf,ssl,pki,ca-certificates,crypto-policies 36private-etc resolv.conf,ssl,pki,ca-certificates,crypto-policies
36private-tmp 37private-tmp
diff --git a/etc/webstorm.profile b/etc/webstorm.profile
index 93bcb50bb..1a77fd833 100644
--- a/etc/webstorm.profile
+++ b/etc/webstorm.profile
@@ -35,5 +35,6 @@ protocol unix,inet,inet6
35seccomp 35seccomp
36shell none 36shell none
37 37
38private-cache
38private-dev 39private-dev
39private-tmp 40private-tmp
diff --git a/etc/wire.profile b/etc/wire.profile
index e43ba792e..86ebca33d 100644
--- a/etc/wire.profile
+++ b/etc/wire.profile
@@ -29,5 +29,6 @@ seccomp
29shell none 29shell none
30 30
31disable-mnt 31disable-mnt
32private-cache
32private-dev 33private-dev
33private-tmp 34private-tmp
diff --git a/etc/xfce4-dict.profile b/etc/xfce4-dict.profile
index 0be0b56a5..fc5294d5b 100644
--- a/etc/xfce4-dict.profile
+++ b/etc/xfce4-dict.profile
@@ -28,6 +28,7 @@ seccomp
28shell none 28shell none
29 29
30disable-mnt 30disable-mnt
31private-cache
31private-dev 32private-dev
32private-tmp 33private-tmp
33 34
diff --git a/etc/xfce4-notes.profile b/etc/xfce4-notes.profile
index 484b66722..5749b7832 100644
--- a/etc/xfce4-notes.profile
+++ b/etc/xfce4-notes.profile
@@ -30,6 +30,7 @@ seccomp
30shell none 30shell none
31 31
32disable-mnt 32disable-mnt
33private-cache
33private-dev 34private-dev
34private-tmp 35private-tmp
35 36
diff --git a/etc/zathura.profile b/etc/zathura.profile
index 028e15ef5..6cdbbe99b 100644
--- a/etc/zathura.profile
+++ b/etc/zathura.profile
@@ -29,6 +29,7 @@ seccomp
29shell none 29shell none
30 30
31private-bin zathura 31private-bin zathura
32private-cache
32private-dev 33private-dev
33private-etc fonts,machine-id 34private-etc fonts,machine-id
34private-tmp 35private-tmp
diff --git a/src/firejail/checkcfg.c b/src/firejail/checkcfg.c
index 6dc28b9bb..68e93e16e 100644
--- a/src/firejail/checkcfg.c
+++ b/src/firejail/checkcfg.c
@@ -175,15 +175,6 @@ int checkcfg(int val) {
175 else 175 else
176 goto errout; 176 goto errout;
177 } 177 }
178 // private-cache
179 else if (strncmp(ptr, "private-cache ", 14) == 0) {
180 if (strcmp(ptr + 14, "yes") == 0)
181 cfg_val[CFG_PRIVATE_CACHE] = 1;
182 else if (strcmp(ptr + 14, "no") == 0)
183 cfg_val[CFG_PRIVATE_CACHE] = 0;
184 else
185 goto errout;
186 }
187 // seccomp 178 // seccomp
188 else if (strncmp(ptr, "seccomp ", 8) == 0) { 179 else if (strncmp(ptr, "seccomp ", 8) == 0) {
189 if (strcmp(ptr + 8, "yes") == 0) 180 if (strcmp(ptr + 8, "yes") == 0)
diff --git a/src/firejail/firejail.h b/src/firejail/firejail.h
index 3e05591b8..92a18af25 100644
--- a/src/firejail/firejail.h
+++ b/src/firejail/firejail.h
@@ -308,6 +308,7 @@ static inline int any_interface_configured(void) {
308 308
309extern int arg_private; // mount private /home 309extern int arg_private; // mount private /home
310extern int arg_private_template; // private /home template 310extern int arg_private_template; // private /home template
311extern int arg_private_cache; // private home/.cache
311extern int arg_debug; // print debug messages 312extern int arg_debug; // print debug messages
312extern int arg_debug_blacklists; // print debug messages for blacklists 313extern int arg_debug_blacklists; // print debug messages for blacklists
313extern int arg_debug_whitelists; // print debug messages for whitelists 314extern int arg_debug_whitelists; // print debug messages for whitelists
@@ -753,7 +754,6 @@ enum {
753 CFG_PRIVATE_LIB, 754 CFG_PRIVATE_LIB,
754 CFG_APPARMOR, 755 CFG_APPARMOR,
755 CFG_DBUS, 756 CFG_DBUS,
756 CFG_PRIVATE_CACHE,
757 CFG_MAX // this should always be the last entry 757 CFG_MAX // this should always be the last entry
758}; 758};
759extern char *xephyr_screen; 759extern char *xephyr_screen;
diff --git a/src/firejail/fs.c b/src/firejail/fs.c
index 68b09dcbd..0e104699f 100644
--- a/src/firejail/fs.c
+++ b/src/firejail/fs.c
@@ -1353,8 +1353,10 @@ void fs_private_cache(void) {
1353 fwarning("user .cache is a symbolic link, tmpfs not mounted\n"); 1353 fwarning("user .cache is a symbolic link, tmpfs not mounted\n");
1354 return; 1354 return;
1355 } 1355 }
1356 if (stat(cache, &s) == -1 || !S_ISDIR(s.st_mode)) 1356 if (stat(cache, &s) == -1 || !S_ISDIR(s.st_mode)) {
1357 fwarning("no user .cache directory found, tmpfs not mounted\n");
1357 return; 1358 return;
1359 }
1358 if (s.st_uid != getuid()) { 1360 if (s.st_uid != getuid()) {
1359 fwarning("user .cache is not owned by current user, tmpfs not mounted\n"); 1361 fwarning("user .cache is not owned by current user, tmpfs not mounted\n");
1360 return; 1362 return;
diff --git a/src/firejail/main.c b/src/firejail/main.c
index 9babb72de..6aebd9ab2 100644
--- a/src/firejail/main.c
+++ b/src/firejail/main.c
@@ -46,6 +46,7 @@ static char child_stack[STACK_SIZE]; // space for child's stack
46Config cfg; // configuration 46Config cfg; // configuration
47int arg_private = 0; // mount private /home and /tmp directoryu 47int arg_private = 0; // mount private /home and /tmp directoryu
48int arg_private_template = 0; // mount private /home using a template 48int arg_private_template = 0; // mount private /home using a template
49int arg_private_cache = 0; // mount private home/.cache
49int arg_debug = 0; // print debug messages 50int arg_debug = 0; // print debug messages
50int arg_debug_blacklists = 0; // print debug messages for blacklists 51int arg_debug_blacklists = 0; // print debug messages for blacklists
51int arg_debug_whitelists = 0; // print debug messages for whitelists 52int arg_debug_whitelists = 0; // print debug messages for whitelists
@@ -1681,6 +1682,9 @@ int main(int argc, char **argv) {
1681 else if (strcmp(argv[i], "--private-tmp") == 0) { 1682 else if (strcmp(argv[i], "--private-tmp") == 0) {
1682 arg_private_tmp = 1; 1683 arg_private_tmp = 1;
1683 } 1684 }
1685 else if (strcmp(argv[i], "--private-cache") == 0) {
1686 arg_private_cache = 1;
1687 }
1684 1688
1685 //************************************* 1689 //*************************************
1686 // hostname, etc 1690 // hostname, etc
diff --git a/src/firejail/profile.c b/src/firejail/profile.c
index 88d27f09f..22db6f5fb 100644
--- a/src/firejail/profile.c
+++ b/src/firejail/profile.c
@@ -217,6 +217,10 @@ int profile_check_line(char *ptr, int lineno, const char *fname) {
217 arg_allusers = 1; 217 arg_allusers = 1;
218 return 0; 218 return 0;
219 } 219 }
220 else if (strcmp(ptr, "private-cache") == 0) {
221 arg_private_cache = 1;
222 return 0;
223 }
220 else if (strcmp(ptr, "private-dev") == 0) { 224 else if (strcmp(ptr, "private-dev") == 0) {
221 arg_private_dev = 1; 225 arg_private_dev = 1;
222 return 0; 226 return 0;
diff --git a/src/firejail/sandbox.c b/src/firejail/sandbox.c
index a1400db34..7922da9b9 100644
--- a/src/firejail/sandbox.c
+++ b/src/firejail/sandbox.c
@@ -833,9 +833,14 @@ int sandbox(void* sandbox_arg) {
833 } 833 }
834 } 834 }
835 835
836 // private cache directory by default 836 if (arg_private_cache) {
837 if (checkcfg(CFG_PRIVATE_CACHE)) 837 if (cfg.chrootdir)
838 fs_private_cache(); 838 fwarning("private-cache feature is disabled in chroot\n");
839 else if (arg_overlay)
840 fwarning("private-cache feature is disabled in overlay\n");
841 else
842 fs_private_cache();
843 }
839 844
840 if (arg_private_tmp) { 845 if (arg_private_tmp) {
841 // private-tmp is implemented as a whitelist 846 // private-tmp is implemented as a whitelist
diff --git a/src/man/firejail-profile.txt b/src/man/firejail-profile.txt
index c32fdf8f4..851eb1026 100644
--- a/src/man/firejail-profile.txt
+++ b/src/man/firejail-profile.txt
@@ -221,6 +221,10 @@ filesystem, and copy the files and directories in the list in the
221new home. All modifications are discarded when the sandbox is 221new home. All modifications are discarded when the sandbox is
222closed. 222closed.
223.TP 223.TP
224\fBprivate-cache
225Mount an empty temporary filesystem on top of the .cache directory in user home. All
226modifications are discarded when the sandbox is closed.
227.TP
224\fBprivate-bin file,file 228\fBprivate-bin file,file
225Build a new /bin in a temporary filesystem, and copy the programs in the list. 229Build a new /bin in a temporary filesystem, and copy the programs in the list.
226The same directory is also bind-mounted over /sbin, /usr/bin and /usr/sbin. 230The same directory is also bind-mounted over /sbin, /usr/bin and /usr/sbin.
diff --git a/src/man/firejail.txt b/src/man/firejail.txt
index 760249e70..d527c05d8 100644
--- a/src/man/firejail.txt
+++ b/src/man/firejail.txt
@@ -1322,6 +1322,17 @@ Example:
1322$ firejail \-\-private-home=.mozilla firefox 1322$ firejail \-\-private-home=.mozilla firefox
1323 1323
1324.TP 1324.TP
1325\fB\-\-private-cache
1326Mount an empty temporary filesystem on top of the .cache directory in user home. All
1327modifications are discarded when the sandbox is closed.
1328.br
1329
1330.br
1331Example:
1332.br
1333$ firejail \-\-private-cache openbox
1334
1335.TP
1325\fB\-\-private-bin=file,file 1336\fB\-\-private-bin=file,file
1326Build a new /bin in a temporary filesystem, and copy the programs in the list. 1337Build a new /bin in a temporary filesystem, and copy the programs in the list.
1327If no listed file is found, /bin directory will be empty. 1338If no listed file is found, /bin directory will be empty.