# vim:syntax=apparmor # ------------------------------------------------------------------ # # Copyright (C) 2002-2009 Novell/SUSE # Copyright (C) 2009-2011 Canonical Ltd. # # This program is free software; you can redistribute it and/or # modify it under the terms of version 2 of the GNU General Public # License published by the Free Software Foundation. # # ------------------------------------------------------------------ # (Note that the ldd profile has inlined this file; if you make # modifications here, please consider including them in the ldd # profile as well.) # The __canary_death_handler function writes a time-stamped log # message to /dev/log for logging by syslogd. So, /dev/log, timezones, # and localisations of date should be available EVERYWHERE, so # StackGuard, FormatGuard, etc., alerts can be properly logged. /dev/log w, /dev/random r, /dev/urandom r, # Allow access to the uuidd daemon (this daemon is a thin wrapper around # time and getrandom()/{,u}random and, when available, runs under an # unprivilged, dedicated user). /run/uuidd/request r, /etc/locale/** r, /etc/locale.alias r, /etc/localtime r, /etc/writable/localtime r, /usr/share/locale-bundle/** r, /usr/share/locale-langpack/** r, /usr/share/locale/** r, /usr/share/**/locale/** r, /usr/share/zoneinfo/ r, /usr/share/zoneinfo/** r, /usr/share/X11/locale/** r, /run/systemd/journal/dev-log w, # systemd native journal API (see sd_journal_print(4)) /run/systemd/journal/socket w, # Nested containers and anything using systemd-cat need this. 'r' shouldn't # be required but applications fail without it. journald doesn't leak # anything when reading so this is ok. /run/systemd/journal/stdout rw, /usr/lib{,32,64}/locale/** mr, /usr/lib{,32,64}/gconv/*.so mr, /usr/lib{,32,64}/gconv/gconv-modules* mr, /usr/lib/@{multiarch}/gconv/*.so mr, /usr/lib/@{multiarch}/gconv/gconv-modules* mr, # used by glibc when binding to ephemeral ports /etc/bindresvport.blacklist r, # ld.so.cache and ld are used to load shared libraries; they are best # available everywhere /etc/ld.so.cache mr, /etc/ld.so.conf r, /etc/ld.so.conf.d/{,*.conf} r, /etc/ld.so.preload r, /{usr/,}lib{,32,64}/ld{,32,64}-*.so mr, /{usr/,}lib/@{multiarch}/ld{,32,64}-*.so mr, /{usr/,}lib/tls/i686/{cmov,nosegneg}/ld-*.so mr, /{usr/,}lib/i386-linux-gnu/tls/i686/{cmov,nosegneg}/ld-*.so mr, /opt/*-linux-uclibc/lib/ld-uClibc*so* mr, # we might as well allow everything to use common libraries /{usr/,}lib{,32,64}/** r, /{usr/,}lib{,32,64}/**.so* mr, /{usr/,}lib/@{multiarch}/** r, /{usr/,}lib/@{multiarch}/**.so* mr, /{usr/,}lib/tls/i686/{cmov,nosegneg}/*.so* mr, /{usr/,}lib/i386-linux-gnu/tls/i686/{cmov,nosegneg}/*.so* mr, # /dev/null is pretty harmless and frequently used /dev/null rw, # as is /dev/zero /dev/zero rw, # recent glibc uses /dev/full in preference to /dev/null for programs # that don't have open fds at exec() /dev/full rw, # Sometimes used to determine kernel/user interfaces to use @{PROC}/sys/kernel/version r, # Depending on which glibc routine uses this file, base may not be the # best place -- but many profiles require it, and it is quite harmless. @{PROC}/sys/kernel/ngroups_max r, # glibc's sysconf(3) routine to determine free memory, etc @{PROC}/meminfo r, @{PROC}/stat r, @{PROC}/cpuinfo r, @{sys}/devices/system/cpu/ r, @{sys}/devices/system/cpu/online r, # glibc's *printf protections read the maps file @{PROC}/@{pid}/{maps,auxv,status} r, # libgcrypt reads some flags from /proc @{PROC}/sys/crypto/* r, # some applications will display license information /usr/share/common-licenses/** r, # glibc statvfs @{PROC}/filesystems r, # glibc malloc (man 5 proc) @{PROC}/sys/vm/overcommit_memory r, # Allow determining the highest valid capability of the running kernel @{PROC}/sys/kernel/cap_last_cap r, # Allow other processes to read our /proc entries, futexes, perf tracing and # kcmp for now (they will need 'read' in the first place). Administrators can # override with: # deny ptrace (readby) ... ptrace (readby), # Allow other processes to trace us by default (they will need 'trace' in # the first place). Administrators can override with: # deny ptrace (tracedby) ... ptrace (tracedby), # Allow us to ptrace read ourselves ptrace (read) peer=@{profile_name}, # Allow unconfined processes to send us signals by default signal (receive) peer=unconfined, # Allow us to signal ourselves signal peer=@{profile_name}, # Checking for PID existence is quite common so add it by default for now signal (receive, send) set=("exists"), # Allow us to create and use abstract and anonymous sockets unix peer=(label=@{profile_name}), # Allow unconfined processes to us via unix sockets unix (receive) peer=(label=unconfined), # Allow us to create abstract and anonymous sockets unix (create), # Allow us to getattr, getopt, setop and shutdown on unix sockets unix (getattr, getopt, setopt, shutdown), # Workaround https://launchpad.net/bugs/359338 until upstream handles stacked # filesystems generally. This does not appreciably decrease security with # Ubuntu profiles because the user is expected to have access to files owned # by him/her. Exceptions to this are explicit in the profiles. While this rule # grants access to those exceptions, the intended privacy is maintained due to # the encrypted contents of the files in this directory. Files in this # directory will also use filename encryption by default, so the files are # further protected. Also, with the use of 'owner', this rule properly # prevents access to the files from processes running under a different uid. # encrypted ~/.Private and old-style encrypted $HOME owner @{HOME}/.Private/ r, owner @{HOME}/.Private/** mrixwlk, # new-style encrypted $HOME owner @{HOMEDIRS}/.ecryptfs/*/.Private/ r, owner @{HOMEDIRS}/.ecryptfs/*/.Private/** mrixwlk,
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
apparmor_api | Folder | 0755 |
|
|
ubuntu-browsers.d | Folder | 0755 |
|
|
X | File | 1.72 KB | 0644 |
|
apache2-common | File | 849 B | 0644 |
|
aspell | File | 308 B | 0644 |
|
audio | File | 1.82 KB | 0644 |
|
authentication | File | 1.55 KB | 0644 |
|
base | File | 6.39 KB | 0644 |
|
bash | File | 1.48 KB | 0644 |
|
consoles | File | 798 B | 0644 |
|
cups-client | File | 714 B | 0644 |
|
dbus | File | 593 B | 0644 |
|
dbus-accessibility | File | 630 B | 0644 |
|
dbus-accessibility-strict | File | 637 B | 0644 |
|
dbus-session | File | 638 B | 0644 |
|
dbus-session-strict | File | 919 B | 0644 |
|
dbus-strict | File | 677 B | 0644 |
|
dconf | File | 246 B | 0644 |
|
dovecot-common | File | 562 B | 0644 |
|
dri-common | File | 434 B | 0644 |
|
dri-enumerate | File | 281 B | 0644 |
|
enchant | File | 1.96 KB | 0644 |
|
evince | File | 4.29 KB | 0644 |
|
fcitx | File | 456 B | 0644 |
|
fcitx-strict | File | 712 B | 0644 |
|
fonts | File | 2.04 KB | 0644 |
|
freedesktop.org | File | 1.26 KB | 0644 |
|
gnome | File | 3.54 KB | 0644 |
|
gnupg | File | 356 B | 0644 |
|
ibus | File | 1 KB | 0644 |
|
kde | File | 2.71 KB | 0644 |
|
kde-globals-write | File | 298 B | 0644 |
|
kde-icon-cache-write | File | 138 B | 0644 |
|
kde-language-write | File | 458 B | 0644 |
|
kerberosclient | File | 1.14 KB | 0644 |
|
ldapclient | File | 754 B | 0644 |
|
libpam-systemd | File | 659 B | 0644 |
|
likewise | File | 489 B | 0644 |
|
mdns | File | 457 B | 0644 |
|
mesa | File | 577 B | 0644 |
|
mir | File | 593 B | 0644 |
|
mozc | File | 471 B | 0644 |
|
mysql | File | 641 B | 0644 |
|
nameservice | File | 4.96 KB | 0644 |
|
nis | File | 524 B | 0644 |
|
nvidia | File | 649 B | 0644 |
|
opencl | File | 269 B | 0644 |
|
opencl-common | File | 404 B | 0644 |
|
opencl-intel | File | 564 B | 0644 |
|
opencl-mesa | File | 527 B | 0644 |
|
opencl-nvidia | File | 785 B | 0644 |
|
opencl-pocl | File | 2.75 KB | 0644 |
|
openssl | File | 470 B | 0644 |
|
orbit2 | File | 93 B | 0644 |
|
p11-kit | File | 899 B | 0644 |
|
perl | File | 872 B | 0644 |
|
php | File | 1.02 KB | 0644 |
|
php5 | File | 105 B | 0644 |
|
postfix-common | File | 1.17 KB | 0644 |
|
private-files | File | 1.51 KB | 0644 |
|
private-files-strict | File | 1.02 KB | 0644 |
|
python | File | 1.5 KB | 0644 |
|
qt5 | File | 762 B | 0644 |
|
qt5-compose-cache-write | File | 278 B | 0644 |
|
qt5-settings-write | File | 398 B | 0644 |
|
recent-documents-write | File | 346 B | 0644 |
|
ruby | File | 906 B | 0644 |
|
samba | File | 830 B | 0644 |
|
smbpass | File | 476 B | 0644 |
|
ssl_certs | File | 1.26 KB | 0644 |
|
ssl_keys | File | 790 B | 0644 |
|
svn-repositories | File | 1.61 KB | 0644 |
|
ubuntu-bittorrent-clients | File | 698 B | 0644 |
|
ubuntu-browsers | File | 1.63 KB | 0644 |
|
ubuntu-console-browsers | File | 611 B | 0644 |
|
ubuntu-console-email | File | 601 B | 0644 |
|
ubuntu-email | File | 977 B | 0644 |
|
ubuntu-feed-readers | File | 339 B | 0644 |
|
ubuntu-gnome-terminal | File | 182 B | 0644 |
|
ubuntu-helpers | File | 3.32 KB | 0644 |
|
ubuntu-konsole | File | 343 B | 0644 |
|
ubuntu-media-players | File | 2.18 KB | 0644 |
|
ubuntu-unity7-base | File | 2.39 KB | 0644 |
|
ubuntu-unity7-launcher | File | 191 B | 0644 |
|
ubuntu-unity7-messaging | File | 192 B | 0644 |
|
ubuntu-xterm | File | 237 B | 0644 |
|
user-download | File | 876 B | 0644 |
|
user-mail | File | 837 B | 0644 |
|
user-manpages | File | 889 B | 0644 |
|
user-tmp | File | 654 B | 0644 |
|
user-write | File | 864 B | 0644 |
|
video | File | 127 B | 0644 |
|
vulkan | File | 503 B | 0644 |
|
wayland | File | 580 B | 0644 |
|
web-data | File | 705 B | 0644 |
|
winbind | File | 739 B | 0644 |
|
wutmp | File | 585 B | 0644 |
|
xad | File | 883 B | 0644 |
|
xdg-desktop | File | 673 B | 0644 |
|