apparmor.d/apparmor.d/groups/gvfs/gvfsd
2023-11-30 23:20:29 +00:00

58 lines
1.6 KiB
Text

# apparmor.d - Full set of apparmor profiles
# Copyright (C) 2021-2022 Mikhail Morfikov
# Copyright (C) 2021-2022 Alexandre Pujol <alexandre@pujol.io>
# SPDX-License-Identifier: GPL-2.0-only
abi <abi/3.0>,
include <tunables/global>
@{exec_path} = @{lib}/{,gvfs/}gvfsd
profile gvfsd @{exec_path} {
include <abstractions/base>
include <abstractions/dbus-session-strict>
dbus bind bus=session name=org.gtk.vfs.Daemon,
dbus send bus=session path=/org/gtk/vfs/mounttracker
interface=org.gtk.vfs.MountTracker
peer=(name=org.freedesktop.DBus),
dbus receive bus=session path=/org/gtk/vfs/mounttracker
interface=org.gtk.vfs.MountTracker
peer=(name=:*), # all members
dbus receive bus=session path=/org/gtk/vfs/Daemon
interface=org.gtk.vfs.Daemon
member=ListMonitorImplementations
peer=(name=:*), # all peer's labels
dbus send bus=session path=/org/gtk/vfs/mountable
interface=org.gtk.vfs.Mountable
member=Mount
peer=(name=:*, label=gvfsd-*),
dbus receive bus=session path=/org/gtk/gvfs/exec_spaw/[0-9]*
interface=org.gtk.vfs.Spawner
member=Spawned
peer=(name=:*, label=gvfsd-*),
dbus receive bus=session
interface=org.freedesktop.DBus.Introspectable
member=Introspect
peer=(name=:*, label=gnome-shell),
@{exec_path} mr,
@{bin}/{,ba,da}sh rix,
@{lib}/{,gvfs/}gvfsd-* rpx,
/usr/share/gvfs/{,**} r,
owner @{run}/user/@{uid}/gvfs/ rw,
owner @{run}/user/@{uid}/gvfsd/ rw,
owner @{PROC}/@{pid}/fd/ r,
include if exists <local/gvfsd>
}