apparmor.d/apparmor.d/groups/gnome/gnome-keyring-daemon
2023-12-08 18:01:39 +00:00

77 lines
2.4 KiB
Text

# apparmor.d - Full set of apparmor profiles
# Copyright (C) 2017-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} = @{bin}/gnome-keyring-daemon
profile gnome-keyring-daemon @{exec_path} flags=(attach_disconnected) {
include <abstractions/base>
include <abstractions/bus-session>
include <abstractions/bus-system>
include <abstractions/bus/org.freedesktop.login1.Session>
include <abstractions/bus/org.freedesktop.portal.Desktop>
include <abstractions/bus/org.gnome.SessionManager>
include <abstractions/openssl>
capability ipc_lock,
signal (receive) set=(term) peer=gdm,
signal (send) set=(term) peer=ssh-agent,
dbus bind bus=session name=org.gnome.keyring,
dbus (send, receive) bus=session path=/org/gnome/keyring/daemon
interface=org.gnome.keyring.Daemon
peer=(name="{org.gnome.keyring,:*}", label=@{profile_name}),
dbus bind bus=session name=org.freedesktop.secrets,
dbus receive bus=session path=/org/freedesktop/secrets{,/**}
interface=org.freedesktop.DBus.Properties
peer=(name=:*),
dbus receive bus=session path=/org/freedesktop/secrets{,/**}
interface=org.freedesktop.Secret.*
peer=(name=:*),
dbus send bus=session path=/org/freedesktop/secrets{,/**}
interface=org.freedesktop.Secret.Collection
peer=(name=org.freedesktop.DBus),
dbus send bus=session path=/org/freedesktop/secrets{,/**}
interface=org.freedesktop.DBus.Properties
peer=(name=org.freedesktop.DBus),
dbus receive bus=session
interface=org.freedesktop.DBus.Introspectable
member=Introspect
peer=(name=:*, label=gnome-shell),
@{exec_path} mr,
@{bin}/ssh-add rix,
@{bin}/ssh-agent rPx,
/etc/gcrypt/hwf.deny r,
/var/lib/gdm{3,}/.local/ rw,
/var/lib/gdm{3,}/.local/share/ rw,
/var/lib/gdm{3,}/.local/share/keyrings/ rw,
# Keyrings location
owner @{user_share_dirs}/keyrings/ rw,
owner @{user_share_dirs}/keyrings/* rwl,
# Seahorse and SSH keys
owner @{HOME}/@{XDG_SSH_DIR}/{,**} r,
owner @{HOME}/.local/ w,
owner @{user_share_dirs}/ w,
owner @{run}/user/@{uid}/keyring/ rw,
owner @{run}/user/@{uid}/keyring/* rw,
owner @{run}/user/@{uid}/ssh-askpass.[0-9A-Z]*/{,*} rw,
@{run}/user/@{uid}/keyring/control r,
owner @{PROC}/@{pid}/fd/ r,
include if exists <local/gnome-keyring-daemon>
}