Current Dir: /snap/core22/2955/etc/apparmor.d/abstractions/
[DIR] apparmor_api [ delete | rename ]
[DIR] ubuntu-browsers.d [ delete | rename ]
[FILE] apache2-common [ edit | delete | rename ]
[FILE] aspell [ edit | delete | rename ]
[FILE] audio [ edit | delete | rename ]
[FILE] authentication [ edit | delete | rename ]
[FILE] base [ edit | delete | rename ]
[FILE] bash [ edit | delete | rename ]
[FILE] consoles [ edit | delete | rename ]
[FILE] crypto [ edit | delete | rename ]
[FILE] cups-client [ edit | delete | rename ]
[FILE] dbus [ edit | delete | rename ]
[FILE] dbus-accessibility [ edit | delete | rename ]
[FILE] dbus-accessibility-strict [ edit | delete | rename ]
[FILE] dbus-network-manager-strict [ edit | delete | rename ]
[FILE] dbus-session [ edit | delete | rename ]
[FILE] dbus-session-strict [ edit | delete | rename ]
[FILE] dbus-strict [ edit | delete | rename ]
[FILE] dconf [ edit | delete | rename ]
[FILE] dovecot-common [ edit | delete | rename ]
[FILE] dri-common [ edit | delete | rename ]
[FILE] dri-enumerate [ edit | delete | rename ]
[FILE] enchant [ edit | delete | rename ]
[FILE] exo-open [ edit | delete | rename ]
[FILE] fcitx [ edit | delete | rename ]
[FILE] fcitx-strict [ edit | delete | rename ]
[FILE] fonts [ edit | delete | rename ]
[FILE] freedesktop.org [ edit | delete | rename ]
[FILE] gio-open [ edit | delete | rename ]
[FILE] gnome [ edit | delete | rename ]
[FILE] gnupg [ edit | delete | rename ]
[FILE] gtk [ edit | delete | rename ]
[FILE] gvfs-open [ edit | delete | rename ]
[FILE] hosts_access [ edit | delete | rename ]
[FILE] ibus [ edit | delete | rename ]
[FILE] kde [ edit | delete | rename ]
[FILE] kde-globals-write [ edit | delete | rename ]
[FILE] kde-icon-cache-write [ edit | delete | rename ]
[FILE] kde-language-write [ edit | delete | rename ]
[FILE] kde-open5 [ edit | delete | rename ]
[FILE] kerberosclient [ edit | delete | rename ]
[FILE] ldapclient [ edit | delete | rename ]
[FILE] libpam-systemd [ edit | delete | rename ]
[FILE] likewise [ edit | delete | rename ]
[FILE] mdns [ edit | delete | rename ]
[FILE] mesa [ edit | delete | rename ]
[FILE] mir [ edit | delete | rename ]
[FILE] mozc [ edit | delete | rename ]
[FILE] mysql [ edit | delete | rename ]
[FILE] nameservice [ edit | delete | rename ]
[FILE] nis [ edit | delete | rename ]
[FILE] nss-systemd [ edit | delete | rename ]
[FILE] nvidia [ edit | delete | rename ]
[FILE] opencl [ edit | delete | rename ]
[FILE] opencl-common [ edit | delete | rename ]
[FILE] opencl-intel [ edit | delete | rename ]
[FILE] opencl-mesa [ edit | delete | rename ]
[FILE] opencl-nvidia [ edit | delete | rename ]
[FILE] opencl-pocl [ edit | delete | rename ]
[FILE] openssl [ edit | delete | rename ]
[FILE] orbit2 [ edit | delete | rename ]
[FILE] p11-kit [ edit | delete | rename ]
[FILE] perl [ edit | delete | rename ]
[FILE] php [ edit | delete | rename ]
[FILE] php-worker [ edit | delete | rename ]
[FILE] php5 [ edit | delete | rename ]
[FILE] postfix-common [ edit | delete | rename ]
[FILE] private-files [ edit | delete | rename ]
[FILE] private-files-strict [ edit | delete | rename ]
[FILE] python [ edit | delete | rename ]
[FILE] qt5 [ edit | delete | rename ]
[FILE] qt5-compose-cache-write [ edit | delete | rename ]
[FILE] qt5-settings-write [ edit | delete | rename ]
[FILE] recent-documents-write [ edit | delete | rename ]
[FILE] ruby [ edit | delete | rename ]
[FILE] samba [ edit | delete | rename ]
[FILE] smbpass [ edit | delete | rename ]
[FILE] snap_browsers [ edit | delete | rename ]
[FILE] ssl_certs [ edit | delete | rename ]
[FILE] ssl_keys [ edit | delete | rename ]
[FILE] svn-repositories [ edit | delete | rename ]
[FILE] ubuntu-bittorrent-clients [ edit | delete | rename ]
[FILE] ubuntu-browsers [ edit | delete | rename ]
[FILE] ubuntu-console-browsers [ edit | delete | rename ]
[FILE] ubuntu-console-email [ edit | delete | rename ]
[FILE] ubuntu-email [ edit | delete | rename ]
[FILE] ubuntu-feed-readers [ edit | delete | rename ]
[FILE] ubuntu-gnome-terminal [ edit | delete | rename ]
[FILE] ubuntu-helpers [ edit | delete | rename ]
[FILE] ubuntu-konsole [ edit | delete | rename ]
[FILE] ubuntu-media-players [ edit | delete | rename ]
[FILE] ubuntu-unity7-base [ edit | delete | rename ]
[FILE] ubuntu-unity7-launcher [ edit | delete | rename ]
[FILE] ubuntu-unity7-messaging [ edit | delete | rename ]
[FILE] ubuntu-xterm [ edit | delete | rename ]
[FILE] user-download [ edit | delete | rename ]
[FILE] user-mail [ edit | delete | rename ]
[FILE] user-manpages [ edit | delete | rename ]
[FILE] user-tmp [ edit | delete | rename ]
[FILE] user-write [ edit | delete | rename ]
[FILE] video [ edit | delete | rename ]
[FILE] vulkan [ edit | delete | rename ]
[FILE] wayland [ edit | delete | rename ]
[FILE] web-data [ edit | delete | rename ]
[FILE] winbind [ edit | delete | rename ]
[FILE] wutmp [ edit | delete | rename ]
[FILE] X [ edit | delete | rename ]
[FILE] xad [ edit | delete | rename ]
[FILE] xdg-desktop [ edit | delete | rename ]
[FILE] xdg-open [ edit | delete | rename ]
Viewing: /snap/core22/2955/etc/apparmor.d/abstractions/kde-open5
# vim:syntax=apparmor
abi <abi/3.0>,
# This abstraction is designed to be used in a child profile to limit what
# confined application can invoke via kde-open5 helper.
#
# NOTE: most likely you want to use xdg-open abstraction instead for better
# portability across desktop environments, unless you are sure that confined
# application only uses /usr/bin/kde-open5 directly.
#
# Usage example:
#
# ```
# profile foo /usr/bin/foo {
# ...
# /usr/bin/kde-open5 rPx -> foo//kde-open5,
# ...
# } # end of main profile
#
# # out-of-line child profile
# profile foo//kde-open5 {
# include <abstractions/kde-open5>
#
# # needed for ubuntu-* abstractions
# include <abstractions/ubuntu-helpers>
#
# # Only allow to handle http[s]: and mailto: links
# include <abstractions/ubuntu-browsers>
# include <abstractions/ubuntu-email>
#
# # Add if accesibility access is considered as required
# # (for message boxe in case exo-open fails)
# include <abstractions/dbus-accessibility>
#
# # Add if audio support for message box is
# # considered as required.
# include if exists <abstractions/gstreamer>
#
# # < add additional allowed applications here >
# }
# ```
include <abstractions/audio> # for alert messages
include <abstractions/base>
include <abstractions/dbus-accessibility-strict>
include <abstractions/dbus-network-manager-strict>
include <abstractions/dbus-session-strict>
include <abstractions/dbus-strict>
include <abstractions/kde-icon-cache-write>
include <abstractions/kde>
include <abstractions/nameservice> # for IceProcessMessages () from libICE.so (called by libQtCore.so)
include <abstractions/openssl>
include <abstractions/qt5>
include <abstractions/recent-documents-write>
include <abstractions/X>
# Main executables
/usr/bin/kde-open5 rix,
/usr/lib/@{multiarch}/libexec/kf5/kioslave{,5} ix,
# DBus
dbus
bus=session
interface=org.kde.KLauncher
member=start_service_by_desktop_path
peer=(name=org.kde.klauncher5),
# Denied system files
deny /usr/lib/vlc/plugins/* w, # VLC backed tries to create plugins.dat.16109
# libpcre2 on openSUSE tries to mmap() shared memory on directory.
# see: https://lists.ubuntu.com/archives/apparmor/2019-January/011925.html
# AppArmor does not allow to distinguish "real" file vs shared memory one,
# so we deny this path to protect from loading exploits from /tmp.
deny /tmp/#[0-9]*[0-9] m,
# System files
/dev/tty r,
/etc/xdg/accept-languages.codes r,
/etc/xdg/menus/{,*/} r,
/usr/share/*fonts*/conf.avail/*.conf r, # for openSUSE, when showing error message box
/usr/share/ghostscript/fonts/ r, # for openSUSE, when showing error message box
/usr/share/hwdata/pnp.ids r, # for openSUSE, when showing error message box, for QXcbConnection::initializeScreens() from libQt5XcbQpa.so
/usr/share/icu/[0-9]*.[0-9]*/*.dat r, # for openSUSE
/usr/share/kservices5/{,**} r, # for KProtocolManager::defaultUserAgent() from libKF5KIOCore.so
/usr/share/mime/ r,
/usr/share/mime/generic-icons r,
/usr/share/plasma/look-and-feel/*/contents/defaults r, # TODO: move to kde abstraction?
/usr/share/sounds/ r,
@{PROC}/sys/kernel/core_pattern r,
@{PROC}/sys/kernel/random/boot_id r,
# User files
owner /tmp/xauth-[0-9]*-_[0-9] r, # for libQt5XcbQpa.so
owner @{run}/user/[0-9]*/#[0-9]* rw, # for /run/user/1000/#13
owner @{run}/user/[0-9]*/kioclient*slave-socket lrw -> @{run}/user/[0-9]/#[0-9]*, # for KIO::Slave::holdSlave(QString const&, QUrl const&) () from libKF5KIOCore.so (not 100% sure)
owner @{HOME}/.cache/kio_http/ rw,
# Include additions to the abstraction
include if exists <abstractions/kde-open5.d>