128 lines
4.5 KiB
Text
128 lines
4.5 KiB
Text
# apparmor.d - Full set of apparmor profiles
|
|
# Copyright (C) 2021 Alexandre Pujol <alexandre@pujol.io>
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
# TODO: GNOME JavaScript interpreter. It's used to run extensions. Therefore,
|
|
# by default, some extension are confined under this profile. The resulting profile
|
|
# is quite broard. The architecture of this needs to be rethinked.
|
|
|
|
abi <abi/3.0>,
|
|
|
|
include <tunables/global>
|
|
|
|
@{exec_path} = @{bin}/gjs-console
|
|
profile gjs-console @{exec_path} flags=(attach_disconnected) {
|
|
include <abstractions/base>
|
|
include <abstractions/dbus-session-strict>
|
|
include <abstractions/dbus-strict>
|
|
include <abstractions/dconf-write>
|
|
include <abstractions/dri-common>
|
|
include <abstractions/dri-enumerate>
|
|
include <abstractions/fonts>
|
|
include <abstractions/freedesktop.org>
|
|
include <abstractions/gtk>
|
|
include <abstractions/mesa>
|
|
include <abstractions/nameservice-strict>
|
|
include <abstractions/opencl-nvidia>
|
|
include <abstractions/openssl>
|
|
include <abstractions/vulkan>
|
|
include <abstractions/wayland>
|
|
|
|
network netlink raw,
|
|
|
|
signal (receive) set=(term hup) peer=gdm*,
|
|
|
|
dbus bind bus=session name=org.gnome.Shell.Notifications,
|
|
|
|
dbus bind bus=session name=org.gnome.ScreenSaver,
|
|
dbus receive bus=session path=/org/gnome/ScreenSaver
|
|
interface=org.gnome.ScreenSaver
|
|
peer=(name=:*), # all members
|
|
dbus receive bus=session path=/org/gnome/ScreenSaver
|
|
interface=org.freedesktop.DBus.Properties
|
|
peer=(name=:*), # all members
|
|
dbus send bus=session path=/org/gnome/ScreenSaver
|
|
interface=org.gnome.ScreenSaver
|
|
peer=(name=:*), # all members
|
|
dbus send bus=session path=/org/gnome/ScreenSaver
|
|
interface=org.gnome.ScreenSaver
|
|
peer=(name=org.freedesktop.DBus),
|
|
dbus send bus=session path=/org/gnome/ScreenSaver
|
|
interface=org.gnome.ScreenSaver
|
|
peer=(name=org.gnome.Shell.ScreenShield),
|
|
dbus send bus=session path=/org/gnome/ScreenSaver
|
|
interface=org.freedesktop.DBus.Properties
|
|
peer=(name=:*), # all members
|
|
|
|
dbus bind bus=session name=org.freedesktop.Notifications,
|
|
dbus receive bus=session path=/org/freedesktop/Notifications
|
|
interface=org.freedesktop.DBus.Properties
|
|
peer=(name=:*), # all members
|
|
dbus send bus=session path=/org/freedesktop/Notifications
|
|
interface=org.freedesktop.DBus.Properties
|
|
peer=(name=:*), # all members
|
|
|
|
dbus bind bus=session name=org.gnome.Shell.Screencast,
|
|
dbus receive bus=session path=/org/gnome/Shell/Screencast
|
|
interface=org.freedesktop.DBus.Properties
|
|
peer=(name=:*), # all members
|
|
dbus send bus=session path=/org/gnome/Mutter/ScreenCast
|
|
interface=org.freedesktop.DBus.Properties
|
|
peer=(name=:*, label=gnome-shell),
|
|
|
|
dbus receive bus=session
|
|
interface=org.freedesktop.DBus.Introspectable
|
|
member=Introspect
|
|
peer=(name=:*, label=gnome-shell),
|
|
|
|
dbus (send, receive) bus=session path=/org/gnome/Shell/Introspect
|
|
interface=org.gnome.Shell.Introspect
|
|
peer=(name=:*, label=gnome-shell),
|
|
dbus (send, receive) bus=session path=/org/gnome/Shell/Introspect
|
|
interface=org.freedesktop.DBus.Properties
|
|
peer=(name=:*, label=gnome-shell),
|
|
|
|
@{exec_path} mr,
|
|
@{bin}/ r,
|
|
@{bin}/[a-z0-9]* rPUx,
|
|
@{lib}/** rPUx,
|
|
|
|
/usr/share/gnome-shell/extensions/gsconnect@andyholmes.github.io/{service/daemon.js,gsconnect-preferences} rPx,
|
|
@{user_share_dirs}/gnome-shell/extensions/gsconnect@andyholmes.github.io/{service/daemon.js,gsconnect-preferences} rPx,
|
|
|
|
/etc/openni2/OpenNI.ini r,
|
|
|
|
/usr/share/dconf/profile/gdm r,
|
|
/usr/share/egl/{,**} r,
|
|
/usr/share/gdm/greeter-dconf-defaults r,
|
|
/usr/share/gnome-shell/{,**} r,
|
|
/usr/share/icu/@{int}.@{int}/*.dat r,
|
|
/usr/share/X11/xkb/** r,
|
|
|
|
/var/lib/gdm{3,}/.cache/fontconfig/[a-f0-9]*.cache-?{,.NEW,.LCK,.TMP-*} r,
|
|
/var/lib/gdm{3,}/.cache/gstreamer-1.0/ rw,
|
|
/var/lib/gdm{3,}/.cache/gstreamer-1.0/registry.*.bin{,.tmp@{rand6}} rw,
|
|
/var/lib/gdm{3,}/.config/dconf/user r,
|
|
/var/lib/gdm{3,}/greeter-dconf-defaults r,
|
|
|
|
/tmp/ r,
|
|
/var/tmp/ r,
|
|
|
|
owner @{user_share_dirs}/gnome-shell/extensions/{,**} r,
|
|
owner @{user_cache_dirs}/gstreamer-1.0/ rw,
|
|
owner @{user_cache_dirs}/gstreamer-1.0/registry.*.bin{,.tmp@{rand6}} rw,
|
|
|
|
owner @{run}/user/@{uid}/gdm/Xauthority r,
|
|
|
|
owner @{PROC}/@{pid}/fd/ r,
|
|
owner @{PROC}/@{pid}/mounts r,
|
|
owner @{PROC}/@{pid}/stat r,
|
|
owner @{PROC}/@{pid}/task/ r,
|
|
owner @{PROC}/@{pid}/task/@{tid}/stat r,
|
|
|
|
/dev/ r,
|
|
/dev/tty rw,
|
|
/dev/tty@{int} rw,
|
|
|
|
include if exists <local/gjs-console>
|
|
}
|