# apparmor.d - Full set of apparmor profiles # Copyright (C) 2021 Alexandre Pujol # SPDX-License-Identifier: GPL-2.0-only abi , include @{exec_path} = @{lib}/gsd-media-keys profile gsd-media-keys @{exec_path} flags=(attach_disconnected) { include include include include include include include include include include include include signal (receive) set=(term, hup) peer=gdm*, network netlink raw, dbus send bus=session path=/org/freedesktop/DBus interface=org.freedesktop.DBus member={RequestName,ReleaseName} peer=(name=org.freedesktop.DBus, label=dbus-daemon), dbus send bus=system path=/org/freedesktop/login[0-9] interface=org.freedesktop.DBus.Properties member=GetAll, dbus send bus=system path=/org/freedesktop/login[0-9] interface=org.freedesktop.login[0-9].Manager member=Inhibit, dbus send bus=system path=/org/freedesktop/login[0-9] interface=org.freedesktop.login[0-9].Manager member=PowerOff, dbus receive bus=system path=/org/freedesktop/login[0-9] interface=org.freedesktop.login[0-9].Manager member={SessionNew,SessionRemoved,PrepareForShutdown,UserNew,UserRemoved,PrepareForSleep} peer=(name=:*, label=systemd-logind), dbus receive bus=system path=/org/freedesktop/login[0-9] interface=org.freedesktop.DBus.Properties member=PropertiesChanged, dbus send bus=system path=/org/freedesktop/hostname[0-9] interface=org.freedesktop.DBus.Properties member=Get, dbus send bus=system path=/org/freedesktop/UPower{,/devices/DisplayDevice} interface=org.freedesktop.DBus.Properties member=GetAll, dbus (send, receive) bus=session path=/org/gnome/SessionManager{,/Client[0-9]*} interface=org.freedesktop.DBus.Properties member={GetAll,PropertiesChanged} peer=(name=:*, label=gnome-session-binary), dbus send bus=session path=/org/gnome/SessionManager/Client[0-9]* interface=org.gnome.SessionManager.ClientPrivate member=EndSessionResponse peer=(name=:*, label=gnome-session-binary), dbus receive bus=session path=/org/gnome/SessionManager/Client[0-9]* interface=org.gnome.SessionManager.ClientPrivate member={CancelEndSession,QueryEndSession,EndSession,Stop} peer=(name=:*, label=gnome-session-binary), dbus send bus=session path=/org/gnome/SessionManager interface=org.gnome.SessionManager member=RegisterClient peer=(name=:*, label=gnome-session-binary), dbus receive bus=session path=/org/gnome/SessionManager interface=org.gnome.SessionManager member={ClientAdded,SessionRunning,ClientRemoved,InhibitorRemoved,InhibitorAdded} peer=(name=:*, label=gnome-session-binary), dbus send bus=session path=/org/gnome/Shell interface=org.freedesktop.DBus.Properties member=GetAll peer=(name=:*, label=gnome-shell), dbus receive bus=session path=/org/gnome/Shell interface=org.freedesktop.DBus.Properties member=GetAll peer=(name=:*, label=gnome-shell), dbus send bus=session path=/org/gnome/Shell interface=org.gnome.Shell member={GrabAccelerators,UngrabAccelerators} peer=(name=:*, label=gnome-shell), dbus receive bus=session path=/org/gnome/Shell interface=org.gnome.Shell member=AcceleratorActivated peer=(name=:*, label=gnome-shell), dbus send bus=session path=/org/gnome/SettingsDaemon/Rfkill interface=org.freedesktop.DBus.Properties member=GetAll peer=(name=:*, label=gsd-rfkill), dbus send bus=session path=/ interface=org.freedesktop.DBus member=ListNames peer=(name=org.freedesktop.DBus, label=dbus-daemon), dbus send bus=session path=/org/gnome/SettingsDaemon/Power interface=org.freedesktop.DBus.Properties member=GetAll peer=(name=:*, label=gsd-power), dbus receive bus=session path=/org/gnome/SettingsDaemon/Power interface=org.freedesktop.DBus.Properties member=PropertiesChanged peer=(name=:*, label=gsd-power), dbus send bus=session path=/org/gtk/Settings interface=org.freedesktop.DBus.Properties member=GetAll peer=(name=:*, label=gsd-xsettings), dbus receive bus=session path=/org/gnome/Mutter/IdleMonitor/Core interface=org.gnome.Mutter.IdleMonitor member=WatchFired peer=(name=:*, label=gnome-shell), dbus send bus=session path=/org/gtk/vfs/mounttracker interface=org.gtk.vfs.MountTracker member=ListMountableInfo peer=(name=:*, label=gvfsd), dbus send bus=session path=/org/a11y/bus interface=org.a11y.Bus member=GetAddress peer=(name=org.a11y.Bus), # all peer's labels dbus receive bus=accessibility path=/org/a11y/atspi/registry interface=org.a11y.atspi.Registry member=EventListenerDeregistered peer=(name=:*, label=at-spi2-registryd), dbus receive bus=session path=/ interface=org.freedesktop.DBus.Introspectable member=Introspect peer=(name=:*, label=gnome-shell), dbus bind bus=session name=org.gnome.SettingsDaemon.MediaKeys, @{exec_path} mr, @{lib}/@{multiarch}/glib-[0-9]*/gio-launch-desktop rPx -> child-open, @{lib}/gio-launch-desktop rPx -> child-open, /usr/share/dconf/profile/gdm r, /usr/share/gdm/greeter-dconf-defaults r, /usr/share/icons/{,**} r, /usr/share/mime/mime.cache r, /usr/share/sounds/freedesktop/stereo/*.oga r, /usr/share/X11/xkb/** r, /var/lib/gdm{3,}/.config/dconf/user r, /var/lib/gdm{3,}/greeter-dconf-defaults r, /var/lib/gdm{3,}/.config/pulse/client.conf r, /var/lib/gdm{3,}/.config/pulse/cookie rk, /var/lib/flatpak/exports/share/applications/{,mimeinfo.cache} r, owner @{user_config_dirs}/pulse/ rw, owner @{user_share_dirs}/ r, owner @{user_share_dirs}/event-sound-cache.tdb.* rwk, owner @{user_share_dirs}/recently-used.xbel{,.*} rw, @{run}/systemd/inhibit/[0-9]*.ref rw, owner @{run}/user/@{uid}/gdm/Xauthority r, owner /dev/tty@{int} rw, @{run}/udev/data/+sound:card@{int} r, # For sound @{run}/udev/data/c13:@{int} r, # for /dev/input/* @{run}/udev/data/c189:@{int} r, # For /dev/bus/usb/** @{sys}/devices/**/usb[0-9]/{,**} r, @{sys}/devices/pci[0-9]*/**/sound/**/uevent r, @{sys}/devices/platform/**/uevent r, @{sys}/devices/virtual/**/uevent r, @{PROC}/1/cgroup r, owner @{PROC}/@{pid}/cgroup r, include if exists }