147 lines
4.9 KiB
Text
147 lines
4.9 KiB
Text
# apparmor.d - Full set of apparmor profiles
|
|
# Copyright (C) 2021 Alexandre Pujol <alexandre@pujol.io>
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
abi <abi/3.0>,
|
|
|
|
include <tunables/global>
|
|
|
|
@{exec_path} = @{libexec}/xdg-desktop-portal
|
|
profile xdg-desktop-portal @{exec_path} flags=(attach_disconnected) {
|
|
include <abstractions/base>
|
|
include <abstractions/dbus-network-manager-strict>
|
|
include <abstractions/dbus-session-strict>
|
|
include <abstractions/dbus-strict>
|
|
include <abstractions/dconf-write>
|
|
include <abstractions/freedesktop.org>
|
|
include <abstractions/nameservice-strict>
|
|
|
|
capability sys_ptrace,
|
|
|
|
network netlink raw,
|
|
|
|
ptrace (read),
|
|
|
|
dbus send bus=session path=/org/freedesktop/DBus
|
|
interface=org.freedesktop.DBus
|
|
member={RequestName,ReleaseName,GetConnectionUnixProcessID}
|
|
peer=(name=org.freedesktop.DBus, label=dbus-daemon),
|
|
|
|
dbus send bus=system path=/org/freedesktop/NetworkManager
|
|
interface=org.freedesktop.DBus.Properties
|
|
member=GetAll,
|
|
|
|
dbus send bus=system path=/org/freedesktop/RealtimeKit[0-9]
|
|
interface=org.freedesktop.DBus.Properties
|
|
member={GetAll,Get},
|
|
|
|
dbus send bus=system path=/net/hadess/PowerProfiles
|
|
interface=org.freedesktop.DBus.Properties
|
|
member=GetAll,
|
|
|
|
dbus receive bus=system path=/org/freedesktop/NetworkManager
|
|
interface=org.freedesktop.NetworkManager
|
|
member={StateChanged,CheckPermissions},
|
|
|
|
dbus receive bus=system path=/org/freedesktop/NetworkManager
|
|
interface=org.freedesktop.DBus.Properties
|
|
member=PropertiesChanged,
|
|
|
|
dbus send bus=session path=/org/freedesktop/portal/desktop
|
|
interface=org.freedesktop.DBus.Properties
|
|
member=GetAll
|
|
peer=(name=:*, label="{gnome-shell,xdg-desktop-portal-*,gnome-keyring-daemon}"),
|
|
|
|
dbus send bus=session path=/org/freedesktop/portal/desktop
|
|
interface=org.freedesktop.impl.portal.Background
|
|
member=GetAppState
|
|
peer=(name=:*, label=xdg-desktop-portal-*),
|
|
|
|
dbus receive bus=session path=/org/freedesktop/portal/desktop
|
|
interface=org.freedesktop.impl.portal.Background
|
|
member=RunningApplicationsChanged
|
|
peer=(name=:*, label=xdg-desktop-portal-*),
|
|
|
|
dbus send bus=session path=/org/freedesktop/portal/desktop
|
|
interface=org.freedesktop.portal.Settings
|
|
member=SettingChanged
|
|
peer=(name=org.freedesktop.DBus), # all peer's labels
|
|
|
|
dbus receive bus=session path=/org/freedesktop/portal/desktop
|
|
interface=org.freedesktop.portal.Settings
|
|
member={ReadAll,GetAll}
|
|
peer=(name=:*, label=snap.snapd-desktop-integration.snapd-desktop-integration),
|
|
|
|
dbus receive bus=session path=/org/freedesktop/portal/desktop
|
|
interface=org.freedesktop.impl.portal.Settings
|
|
member=SettingChanged
|
|
peer=(name=:*, label=xdg-desktop-portal-*),
|
|
|
|
dbus send bus=session path=/org/freedesktop/portal/documents
|
|
interface=org.freedesktop.portal.Documents
|
|
member=GetMountPoint
|
|
peer=(name=:*, label=xdg-document-portal),
|
|
|
|
dbus (send, receive) bus=session path=/org/freedesktop/portal/documents
|
|
interface=org.freedesktop.DBus.Properties
|
|
member={GetAll,PropertiesChanged}
|
|
peer=(name=:*, label=xdg-document-portal),
|
|
|
|
dbus send bus=session path=/org/freedesktop/impl/portal/PermissionStore
|
|
interface=org.freedesktop.DBus.Properties
|
|
member=GetAll
|
|
peer=(name=:*, label=xdg-permission-store),
|
|
|
|
dbus send bus=session path=/org/freedesktop/impl/portal/PermissionStore
|
|
interface=org.freedesktop.impl.portal.PermissionStore
|
|
member=Lookup
|
|
peer=(name=:*, label=xdg-permission-store),
|
|
|
|
dbus receive bus=session path=/
|
|
interface=org.freedesktop.DBus.Introspectable
|
|
member=Introspect
|
|
peer=(name=:*, label=gnome-shell),
|
|
|
|
dbus bind bus=session
|
|
name=org.freedesktop.portal.Desktop,
|
|
|
|
@{exec_path} mr,
|
|
|
|
/{usr/,}bin/{,ba,da}sh rix,
|
|
/{usr/,}bin/nautilus rPx,
|
|
/{usr/,}bin/snap rPx,
|
|
|
|
/{usr/,}lib/@{multiarch}/glib-[0-9]*/gio-launch-desktop rPx -> child-open,
|
|
/{usr/,}lib/gio-launch-desktop rPx -> child-open,
|
|
/{usr/,}lib/xdg-desktop-portal-validate-icon rPUx,
|
|
|
|
/ r,
|
|
/.flatpak-info r,
|
|
|
|
/usr/share/glib-2.0/schemas/gschemas.compiled r,
|
|
/usr/share/pipewire/client.conf r,
|
|
/usr/share/xdg-desktop-portal/portals/{,*.portal} r,
|
|
|
|
/etc/pipewire/client.conf.d/ r,
|
|
|
|
/var/lib/flatpak/exports/share/mime/mime.cache r,
|
|
/var/lib/flatpak/exports/share/applications/{**,} r,
|
|
|
|
owner /tmp/icon* rw,
|
|
|
|
owner @{run}/user/@{uid}/.flatpak/{,*/*} r,
|
|
owner @{run}/user/@{uid}/pipewire-[0-9]* rw,
|
|
|
|
@{PROC}/ r,
|
|
@{PROC}/1/cgroup r,
|
|
@{PROC}/cmdline r,
|
|
@{PROC}/sys/kernel/osrelease r,
|
|
@{PROC}/@{pid}/ r,
|
|
owner @{PROC}/@{pid}/mountinfo r,
|
|
owner @{PROC}/@{pid}/task/ r,
|
|
owner @{PROC}/@{pid}/task/@{tid}/ r,
|
|
owner @{PROC}/@{pid}/task/@{tid}/status r,
|
|
owner @{PROC}/@{pids}/cgroup r,
|
|
|
|
include if exists <local/xdg-desktop-portal>
|
|
}
|