1
# Author: Jamie Strandboge <jamie@canonical.com>
2
#include <tunables/global>
4
/usr/lib/chromium-browser/chromium-browser {
5
#include <abstractions/audio>
6
#include <abstractions/base>
7
#include <abstractions/cups-client>
8
#include <abstractions/dbus-session>
9
#include <abstractions/fonts>
10
#include <abstractions/freedesktop.org>
11
#include <abstractions/gnome>
12
#include <abstractions/nameservice>
13
#include <abstractions/user-tmp>
15
# This include specifies which ubuntu-browsers.d abstractions to use. Eg, if
16
# you want access to productivity applications, adjust the following file
18
#include <abstractions/ubuntu-browsers.d/chromium-browser>
23
@{PROC}/[0-9]*/net/if_inet6 r,
24
@{PROC}/[0-9]*/net/ipv6_route r,
26
# Should maybe be in abstractions
29
/etc/xdg/xubuntu/applications/defaults.list r,
30
owner @{HOME}/.local/share/applications/defaults.list r,
31
owner @{HOME}/.local/share/applications/mimeinfo.cache r,
34
@{PROC}/filesystems r,
36
@{PROC}/[0-9]*/cmdline r,
37
@{PROC}/[0-9]*/stat r,
38
@{PROC}/[0-9]*/status r,
40
# Needed for the crash reporter
41
owner @{PROC}/[0-9]*/auxv r,
43
# chromium mmaps all kinds of things for speed.
45
/usr/share/fonts/truetype/**/*.tt[cf] m,
46
/usr/share/fonts/**/*.pfb m,
47
/usr/share/mime/mime.cache m,
48
/usr/share/icons/**/*.cache m,
49
owner /dev/shm/pulse-shm* m,
50
owner @{HOME}/.local/share/mime/mime.cache m,
53
@{PROC}/sys/kernel/shmmax r,
54
owner /dev/shm/{,.}org.chromium.* mrw,
56
/usr/lib/chromium-browser/*.pak mr,
57
/usr/lib/chromium-browser/locales/* mr,
60
deny /usr/lib/chromium-browser/** w,
62
# Make browsing directories work
66
# Allow access to documentation and other files the user may want to look
68
/usr/{include,share,src}** r,
70
# Default profile allows downloads to ~/Downloads and uploads from ~/Public
72
owner @{HOME}/Public/ r,
73
owner @{HOME}/Public/* r,
74
owner @{HOME}/Downloads/ r,
75
owner @{HOME}/Downloads/* rw,
78
/usr/bin/xdg-open ixr,
79
/usr/bin/gnome-open ixr,
80
/usr/bin/gvfs-open ixr,
83
# Importing firefox settings (requires 'r' access to @{HOME}/.mozilla/**
84
# which is provided by abstractions/ubuntu-browsers.d/user-files).
85
@{PROC}/[0-9]*/oom_adj w,
86
/etc/firefox/profile/bookmarks.html r,
87
owner @{HOME}/.mozilla/** k,
89
# Chromium configuration
90
owner @{HOME}/.pki/nssdb/* rwk,
91
owner @{HOME}/.cache/chromium/ rw,
92
owner @{HOME}/.cache/chromium/** rw,
93
owner @{HOME}/.cache/chromium/Cache/* mr,
94
owner @{HOME}/.config/chromium/ rw,
95
owner @{HOME}/.config/chromium/** rwk,
96
owner @{HOME}/.config/chromium/**/Cache/* mr,
97
owner @{HOME}/.config/chromium/Dictionaries/*.bdic mr,
98
owner @{HOME}/.config/chromium/**/Dictionaries/*.bdic mr,
100
# Allow transitions to ourself and our sandbox
101
/usr/lib/chromium-browser/chromium-browser ix,
102
/usr/lib/chromium-browser/chromium-browser-sandbox cx -> chromium_browser_sandbox,
104
# TODO: child profile
106
/usr/lib/chromium-browser/xdg-settings Ux,
108
# Site-specific additions and overrides. See local/README for details.
109
#include <local/usr.bin.chromium-browser>
111
profile chromium_browser_sandbox {
112
# Be fanatical since it is setuid root and don't use an abstraction
113
/lib/libgcc_s.so* mr,
114
/lib{,32,64}/libm-*.so* mr,
115
/lib/@{multiarch}/libm-*.so* mr,
116
/lib{,32,64}/libpthread-*.so* mr,
117
/lib/@{multiarch}/libpthread-*.so* mr,
118
/lib{,32,64}/libc-*.so* mr,
119
/lib/@{multiarch}/libc-*.so* mr,
120
/lib{,32,64}/libld-*.so* mr,
121
/lib/@{multiarch}/libld-*.so* mr,
122
/lib{,32,64}/ld-*.so* mr,
123
/lib/@{multiarch}/ld-*.so* mr,
124
/lib/tls/*/{cmov,nosegneg}/libm-*.so* mr,
125
/lib/tls/*/{cmov,nosegneg}/libpthread-*.so* mr,
126
/lib/tls/*/{cmov,nosegneg}/libc-*.so* mr,
127
/usr/lib/libstdc++.so* mr,
130
# Required for dropping into PID namespace. Keep in mind that until the
131
# process drops this capability it can escape confinement, but once it
132
# drops CAP_SYS_ADMIN we are ok.
133
capability sys_admin,
135
# All of these are for sanely dropping from root and chrooting
140
capability dac_override,
141
capability sys_chroot,
144
capability sys_ptrace,
147
@{PROC}/[0-9]*/fd/ r,
148
@{PROC}/[0-9]*/oom_adj w,
150
/usr/bin/chromium-browser r,
151
/usr/lib/chromium-browser/chromium-browser Px,
152
/usr/lib/chromium-browser/chromium-browser-sandbox r,