diff options
author | smitsohu <smitsohu@gmail.com> | 2018-03-24 17:00:18 +0100 |
---|---|---|
committer | smitsohu <smitsohu@gmail.com> | 2018-03-24 17:00:18 +0100 |
commit | ecbf5ddb450ba0ad86d9a892e9bc14d52ad86fa4 (patch) | |
tree | 7670af2ab2133a5d2a90ae8321d4eced1e8b9395 | |
parent | harden openbox profile (diff) | |
download | firejail-ecbf5ddb450ba0ad86d9a892e9bc14d52ad86fa4.tar.gz firejail-ecbf5ddb450ba0ad86d9a892e9bc14d52ad86fa4.tar.zst firejail-ecbf5ddb450ba0ad86d9a892e9bc14d52ad86fa4.zip |
add basic akonadi integration
as it is now, there is no support for a full akonadi session inside
the knotes sandbox, but knotes can connect to akonadi and should work fine
-rw-r--r-- | README.md | 3 | ||||
-rw-r--r-- | RELNOTES | 2 | ||||
-rw-r--r-- | etc/akonadi_control.profile | 44 | ||||
-rw-r--r-- | etc/disable-programs.inc | 8 | ||||
-rw-r--r-- | etc/kmail.profile | 21 | ||||
-rw-r--r-- | etc/knotes.profile | 10 | ||||
-rw-r--r-- | src/firecfg/firecfg.config | 1 |
7 files changed, 82 insertions, 7 deletions
@@ -246,4 +246,5 @@ firefox-common-addons.inc in firefox-common.profile. | |||
246 | 246 | ||
247 | Basilisk browser, Tor Browser language packs, PlayOnLinux, sylpheed, discord-canary, | 247 | Basilisk browser, Tor Browser language packs, PlayOnLinux, sylpheed, discord-canary, |
248 | pycharm-community, pycharm-professional, Pitivi, OnionShare, Fritzing, Kaffeine, pdfchain, | 248 | pycharm-community, pycharm-professional, Pitivi, OnionShare, Fritzing, Kaffeine, pdfchain, |
249 | tilp, vivaldi-snapshot, bitcoin-qt, VS Code, falkon, gnome-builder, lobase, asunder | 249 | tilp, vivaldi-snapshot, bitcoin-qt, VS Code, falkon, gnome-builder, lobase, asunder, |
250 | akonadi_control | ||
@@ -27,7 +27,7 @@ firejail (0.9.53) baseline; urgency=low | |||
27 | * new profiles: basilisk, Tor Browser language packs, PlayOnLinux, sylpheed, | 27 | * new profiles: basilisk, Tor Browser language packs, PlayOnLinux, sylpheed, |
28 | * new profiles: discord-canary, pycharm-community, pycharm-professional, | 28 | * new profiles: discord-canary, pycharm-community, pycharm-professional, |
29 | * new profiles: pdfchain, tilp, vivaldi-snapshot, bitcoin-qt, kaffeine, VS Code, | 29 | * new profiles: pdfchain, tilp, vivaldi-snapshot, bitcoin-qt, kaffeine, VS Code, |
30 | * new profiles: falkon, gnome-builder, asunder | 30 | * new profiles: falkon, gnome-builder, asunder, akonadi_control |
31 | -- netblue30 <netblue30@yahoo.com> Thu, 1 Mar 2018 08:00:00 -0500 | 31 | -- netblue30 <netblue30@yahoo.com> Thu, 1 Mar 2018 08:00:00 -0500 |
32 | 32 | ||
33 | firejail (0.9.52) baseline; urgency=low | 33 | firejail (0.9.52) baseline; urgency=low |
diff --git a/etc/akonadi_control.profile b/etc/akonadi_control.profile new file mode 100644 index 000000000..44184b76a --- /dev/null +++ b/etc/akonadi_control.profile | |||
@@ -0,0 +1,44 @@ | |||
1 | # Firejail profile for akonadi_control | ||
2 | # Persistent local customizations | ||
3 | include /etc/firejail/akonadi_control.local | ||
4 | # Persistent global definitions | ||
5 | include /etc/firejail/globals.local | ||
6 | |||
7 | noblacklist ${HOME}/.cache/akonadi* | ||
8 | noblacklist ${HOME}/.config/akonadi* | ||
9 | noblacklist ${HOME}/.config/baloorc | ||
10 | noblacklist ${HOME}/.local/share/akonadi/* | ||
11 | noblacklist ${HOME}/.local/share/contacts | ||
12 | noblacklist ${HOME}/.local/share/local-mail | ||
13 | noblacklist /usr/sbin | ||
14 | |||
15 | include /etc/firejail/disable-common.inc | ||
16 | include /etc/firejail/disable-devel.inc | ||
17 | include /etc/firejail/disable-passwdmgr.inc | ||
18 | include /etc/firejail/disable-programs.inc | ||
19 | |||
20 | include /etc/firejail/whitelist-var-common.inc | ||
21 | |||
22 | # depending on your setup it might be possible to | ||
23 | # enable some of the commented options below | ||
24 | |||
25 | caps.drop all | ||
26 | ipc-namespace | ||
27 | no3d | ||
28 | netfilter | ||
29 | nodvd | ||
30 | nogroups | ||
31 | # nonewprivs | ||
32 | # noroot | ||
33 | nosound | ||
34 | notv | ||
35 | novideo | ||
36 | # protocol unix,inet,inet6 | ||
37 | # seccomp.drop @cpu-emulation,@debug,@obsolete,@privileged,@resources,add_key,fanotify_init,io_cancel,io_destroy,kcmp,keyctl,name_to_handle_at,ni_syscall,open_by_handle_at,personality,process_vm_readv,ptrace,remap_file_pages,request_key,syslog,umount,userfaultfd,vmsplice # we need to allow io_getevents, ioprio_set, io_setup, io_submit system calls | ||
38 | tracelog | ||
39 | |||
40 | private-dev | ||
41 | # private-tmp - breaks programs that depend on akonadi | ||
42 | |||
43 | noexec ${HOME} | ||
44 | noexec /tmp | ||
diff --git a/etc/disable-programs.inc b/etc/disable-programs.inc index 0d542c6d8..586c50a60 100644 --- a/etc/disable-programs.inc +++ b/etc/disable-programs.inc | |||
@@ -73,6 +73,7 @@ blacklist ${HOME}/.config/Slack | |||
73 | blacklist ${HOME}/.config/Thunar | 73 | blacklist ${HOME}/.config/Thunar |
74 | blacklist ${HOME}/.config/VirtualBox | 74 | blacklist ${HOME}/.config/VirtualBox |
75 | blacklist ${HOME}/.config/Wire | 75 | blacklist ${HOME}/.config/Wire |
76 | blacklist ${HOME}/.config/akonadi* | ||
76 | blacklist ${HOME}/.config/akregatorrc | 77 | blacklist ${HOME}/.config/akregatorrc |
77 | blacklist ${HOME}/.config/ardour4 | 78 | blacklist ${HOME}/.config/ardour4 |
78 | blacklist ${HOME}/.config/ardour5 | 79 | blacklist ${HOME}/.config/ardour5 |
@@ -106,6 +107,7 @@ blacklist ${HOME}/.config/digikam | |||
106 | blacklist ${HOME}/.config/digikamrc | 107 | blacklist ${HOME}/.config/digikamrc |
107 | blacklist ${HOME}/.config/dolphinrc | 108 | blacklist ${HOME}/.config/dolphinrc |
108 | blacklist ${HOME}/.config/dragonplayerrc | 109 | blacklist ${HOME}/.config/dragonplayerrc |
110 | blacklist ${HOME}/.config/emailidentities | ||
109 | blacklist ${HOME}/.config/enchant | 111 | blacklist ${HOME}/.config/enchant |
110 | blacklist ${HOME}/.config/eog | 112 | blacklist ${HOME}/.config/eog |
111 | blacklist ${HOME}/.config/epiphany | 113 | blacklist ${HOME}/.config/epiphany |
@@ -144,6 +146,7 @@ blacklist ${HOME}/.config/katevirc | |||
144 | blacklist ${HOME}/.config/kdenliverc | 146 | blacklist ${HOME}/.config/kdenliverc |
145 | blacklist ${HOME}/.config/kgetrc | 147 | blacklist ${HOME}/.config/kgetrc |
146 | blacklist ${HOME}/.config/klipperrc | 148 | blacklist ${HOME}/.config/klipperrc |
149 | blacklist ${HOME}/.config/kmail2rc | ||
147 | blacklist ${HOME}/.config/kritarc | 150 | blacklist ${HOME}/.config/kritarc |
148 | blacklist ${HOME}/.config/kwriterc | 151 | blacklist ${HOME}/.config/kwriterc |
149 | blacklist ${HOME}/.config/kdeconnect | 152 | blacklist ${HOME}/.config/kdeconnect |
@@ -346,12 +349,14 @@ blacklist ${HOME}/.local/share/SuperHexagon | |||
346 | blacklist ${HOME}/.local/share/TelegramDesktop | 349 | blacklist ${HOME}/.local/share/TelegramDesktop |
347 | blacklist ${HOME}/.local/share/Terraria | 350 | blacklist ${HOME}/.local/share/Terraria |
348 | blacklist ${HOME}/.local/share/TpLogger | 351 | blacklist ${HOME}/.local/share/TpLogger |
352 | blacklist ${HOME}/.local/share/akonadi/* | ||
349 | blacklist ${HOME}/.local/share/akregator | 353 | blacklist ${HOME}/.local/share/akregator |
350 | blacklist ${HOME}/.local/share/aspyr-media | 354 | blacklist ${HOME}/.local/share/aspyr-media |
351 | blacklist ${HOME}/.local/share/baloo | 355 | blacklist ${HOME}/.local/share/baloo |
352 | blacklist ${HOME}/.local/share/caja-python | 356 | blacklist ${HOME}/.local/share/caja-python |
353 | blacklist ${HOME}/.local/share/cdprojektred | 357 | blacklist ${HOME}/.local/share/cdprojektred |
354 | blacklist ${HOME}/.local/share/clipit | 358 | blacklist ${HOME}/.local/share/clipit |
359 | blacklist ${HOME}/.local/share/contacts | ||
355 | blacklist ${HOME}/.local/share/data/Mumble | 360 | blacklist ${HOME}/.local/share/data/Mumble |
356 | blacklist ${HOME}/.local/share/data/MusE | 361 | blacklist ${HOME}/.local/share/data/MusE |
357 | blacklist ${HOME}/.local/share/data/MuseScore | 362 | blacklist ${HOME}/.local/share/data/MuseScore |
@@ -376,11 +381,13 @@ blacklist ${HOME}/.local/share/kaffeine | |||
376 | blacklist ${HOME}/.local/share/kate | 381 | blacklist ${HOME}/.local/share/kate |
377 | blacklist ${HOME}/.local/share/kdenlive | 382 | blacklist ${HOME}/.local/share/kdenlive |
378 | blacklist ${HOME}/.local/share/kget | 383 | blacklist ${HOME}/.local/share/kget |
384 | blacklist ${HOME}/.local/share/kmail2 | ||
379 | blacklist ${HOME}/.local/share/krita | 385 | blacklist ${HOME}/.local/share/krita |
380 | blacklist ${HOME}/.local/share/ktorrentrc | 386 | blacklist ${HOME}/.local/share/ktorrentrc |
381 | blacklist ${HOME}/.local/share/ktorrent | 387 | blacklist ${HOME}/.local/share/ktorrent |
382 | blacklist ${HOME}/.local/share/kwrite | 388 | blacklist ${HOME}/.local/share/kwrite |
383 | blacklist ${HOME}/.local/share/liferea | 389 | blacklist ${HOME}/.local/share/liferea |
390 | blacklist ${HOME}/.local/share/local-mail | ||
384 | blacklist ${HOME}/.local/share/lollypop | 391 | blacklist ${HOME}/.local/share/lollypop |
385 | blacklist ${HOME}/.local/share/maps-places.json | 392 | blacklist ${HOME}/.local/share/maps-places.json |
386 | blacklist ${HOME}/.local/share/meld | 393 | blacklist ${HOME}/.local/share/meld |
@@ -495,6 +502,7 @@ blacklist ${HOME}/.cache/Franz | |||
495 | blacklist ${HOME}/.cache/INRIA | 502 | blacklist ${HOME}/.cache/INRIA |
496 | blacklist ${HOME}/.cache/MusicBrainz | 503 | blacklist ${HOME}/.cache/MusicBrainz |
497 | blacklist ${HOME}/.cache/QuiteRss | 504 | blacklist ${HOME}/.cache/QuiteRss |
505 | blacklist ${HOME}/.cache/akonadi* | ||
498 | blacklist ${HOME}/.cache/attic | 506 | blacklist ${HOME}/.cache/attic |
499 | blacklist ${HOME}/.cache/borg | 507 | blacklist ${HOME}/.cache/borg |
500 | blacklist ${HOME}/.cache/calibre | 508 | blacklist ${HOME}/.cache/calibre |
diff --git a/etc/kmail.profile b/etc/kmail.profile index ca774f4ec..1b3255d61 100644 --- a/etc/kmail.profile +++ b/etc/kmail.profile | |||
@@ -5,6 +5,18 @@ include /etc/firejail/kmail.local | |||
5 | # Persistent global definitions | 5 | # Persistent global definitions |
6 | include /etc/firejail/globals.local | 6 | include /etc/firejail/globals.local |
7 | 7 | ||
8 | # akonadi with mysql backend fails to run inside this sandbox | ||
9 | # and should be started in advance | ||
10 | |||
11 | noblacklist ${HOME}/.cache/akonadi* | ||
12 | noblacklist ${HOME}/.config/akonadi* | ||
13 | noblacklist ${HOME}/.config/baloorc | ||
14 | noblacklist ${HOME}/.config/emailidentities | ||
15 | noblacklist ${HOME}/.config/kmail2rc | ||
16 | noblacklist ${HOME}/.local/share/akonadi/* | ||
17 | noblacklist ${HOME}/.local/share/contacts | ||
18 | noblacklist ${HOME}/.local/share/kmail2 | ||
19 | noblacklist ${HOME}/.local/share/local-mail | ||
8 | noblacklist ${HOME}/.gnupg | 20 | noblacklist ${HOME}/.gnupg |
9 | 21 | ||
10 | include /etc/firejail/disable-common.inc | 22 | include /etc/firejail/disable-common.inc |
@@ -22,11 +34,14 @@ nosound | |||
22 | notv | 34 | notv |
23 | novideo | 35 | novideo |
24 | protocol unix,inet,inet6,netlink | 36 | protocol unix,inet,inet6,netlink |
25 | # blacklisting of chroot system calls breaks kmail | 37 | # we need to allow chroot and ioprio_set system calls |
26 | seccomp.drop @clock,@cpu-emulation,@debug,@module,@obsolete,@raw-io,@reboot,@resources,@swap,acct,add_key,bpf,fanotify_init,io_cancel,io_destroy,io_getevents,io_setup,io_submit,ioprio_set,kcmp,keyctl,mount,name_to_handle_at,nfsservctl,ni_syscall,open_by_handle_at,personality,pivot_root,process_vm_readv,ptrace,remap_file_pages,request_key,setdomainname,sethostname,syslog,umount,umount2,userfaultfd,vhangup,vmsplice | 38 | seccomp.drop @clock,@cpu-emulation,@debug,@module,@obsolete,@raw-io,@reboot,@resources,@swap,acct,add_key,bpf,fanotify_init,io_cancel,io_destroy,io_getevents,io_setup,io_submit,kcmp,keyctl,mount,name_to_handle_at,nfsservctl,ni_syscall,open_by_handle_at,personality,pivot_root,process_vm_readv,ptrace,remap_file_pages,request_key,setdomainname,sethostname,syslog,umount,umount2,userfaultfd,vhangup,vmsplice |
27 | # tracelog | 39 | # tracelog |
28 | # writable-run-user is needed for signing and encrypting emails | 40 | # writable-run-user is needed for signing and encrypting emails |
29 | writable-run-user | 41 | writable-run-user |
30 | 42 | ||
31 | private-dev | 43 | private-dev |
32 | # private-tmp - breaks akonadi and opening of email attachments | 44 | # private-tmp - interrupts connection to akonadi, breaks opening of email attachments |
45 | |||
46 | noexec ${HOME} | ||
47 | noexec /tmp | ||
diff --git a/etc/knotes.profile b/etc/knotes.profile index 94ada7855..091c3a8e5 100644 --- a/etc/knotes.profile +++ b/etc/knotes.profile | |||
@@ -5,10 +5,12 @@ include /etc/firejail/knotes.local | |||
5 | # Persistent global definitions | 5 | # Persistent global definitions |
6 | include /etc/firejail/globals.local | 6 | include /etc/firejail/globals.local |
7 | 7 | ||
8 | noblacklist ${HOME}/.config/akonadi* | ||
8 | noblacklist ${HOME}/.config/knotesrc | 9 | noblacklist ${HOME}/.config/knotesrc |
10 | noblacklist ${HOME}/.local/share/akonadi/* | ||
9 | 11 | ||
10 | include /etc/firejail/disable-common.inc | 12 | include /etc/firejail/disable-common.inc |
11 | # include /etc/firejail/disable-devel.inc | 13 | include /etc/firejail/disable-devel.inc |
12 | include /etc/firejail/disable-passwdmgr.inc | 14 | include /etc/firejail/disable-passwdmgr.inc |
13 | include /etc/firejail/disable-programs.inc | 15 | include /etc/firejail/disable-programs.inc |
14 | 16 | ||
@@ -22,10 +24,14 @@ nonewprivs | |||
22 | noroot | 24 | noroot |
23 | nosound | 25 | nosound |
24 | notv | 26 | notv |
27 | novideo | ||
25 | protocol unix | 28 | protocol unix |
26 | seccomp | 29 | seccomp |
27 | shell none | 30 | shell none |
28 | tracelog | 31 | tracelog |
29 | 32 | ||
30 | private-dev | 33 | private-dev |
31 | #private-tmp - problems on kubuntu 17.04 | 34 | # private-tmp - interrupts connection to akonadi |
35 | |||
36 | noexec ${HOME} | ||
37 | noexec /tmp | ||
diff --git a/src/firecfg/firecfg.config b/src/firecfg/firecfg.config index e29f95886..c39c1144e 100644 --- a/src/firecfg/firecfg.config +++ b/src/firecfg/firecfg.config | |||
@@ -16,6 +16,7 @@ VirtualBox | |||
16 | Wire | 16 | Wire |
17 | Xephyr | 17 | Xephyr |
18 | abrowser | 18 | abrowser |
19 | # akonadi_control - enable later | ||
19 | akregator | 20 | akregator |
20 | amarok | 21 | amarok |
21 | amule | 22 | amule |