139 lines
4.3 KiB
Text
139 lines
4.3 KiB
Text
# apparmor.d - Full set of apparmor profiles
|
|
# Copyright (C) 2017-2021 Mikhail Morfikov
|
|
# Copyright (C) 2022 Alexandre Pujol <alexandre@pujol.io>
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
abi <abi/3.0>,
|
|
|
|
include <tunables/global>
|
|
|
|
@{exec_path} = /{usr/,}bin/X
|
|
@{exec_path} += /{usr/,}bin/Xorg
|
|
@{exec_path} += /{usr/,}lib/Xorg{,.wrap}
|
|
@{exec_path} += /{usr/,}lib/xorg/Xorg{,.wrap}
|
|
profile xorg @{exec_path} flags=(attach_disconnected) {
|
|
include <abstractions/base>
|
|
include <abstractions/dbus-strict>
|
|
include <abstractions/fontconfig-cache-read>
|
|
include <abstractions/fonts>
|
|
include <abstractions/freedesktop.org>
|
|
include <abstractions/mesa>
|
|
include <abstractions/nameservice-strict>
|
|
include <abstractions/opencl>
|
|
include <abstractions/vulkan>
|
|
|
|
capability setgid,
|
|
capability setuid,
|
|
capability sys_admin,
|
|
|
|
# These can be denied.
|
|
#deny capability dac_override,
|
|
#deny capability sys_rawio,
|
|
# deny capability sys_nice,
|
|
#capability sys_tty_config,
|
|
|
|
signal (send) set=(usr1),
|
|
|
|
signal (receive) peer=lightdm,
|
|
signal (receive) peer=sddm,
|
|
signal (receive) peer=xinit,
|
|
signal (receive) set=term peer=gdm{,-x-session},
|
|
|
|
network netlink raw,
|
|
|
|
dbus send bus=system path=/org/freedesktop/login[0-9]{,/session/*}
|
|
interface=org.freedesktop.{DBus.Properties,login1.Session}
|
|
member={ReleaseControl,TakeControl,TakeDevice,ReleaseDevice,GetSessionByPID}
|
|
peer=(name=org.freedesktop.login[0-9]),
|
|
|
|
dbus receive bus=system path=/org/freedesktop/login[0-9]/session/*
|
|
interface=org.freedesktop.login1.Session
|
|
member=PauseDevice,
|
|
|
|
@{exec_path} mrix,
|
|
|
|
/{usr/,}bin/{,ba,da}sh rix,
|
|
/{usr/,}bin/xkbcomp rPx,
|
|
/{usr/,}bin/pkexec rPx,
|
|
|
|
/{usr/,}lib/xorg/ r,
|
|
/{usr/,}lib/xorg/modules/ r,
|
|
/{usr/,}lib/xorg/modules/** mr,
|
|
|
|
/var/lib/xkb/server-[0-9]*.xkm rw,
|
|
|
|
/usr/share/egl/{,**} rw,
|
|
/usr/share/libinput/ r,
|
|
/usr/share/libinput/[0-9][0-9]-*.quirks r,
|
|
|
|
/etc/X11/{,**} r,
|
|
|
|
owner @{HOME}/ r,
|
|
owner @{HOME}/.xsession-errors w,
|
|
|
|
owner @{user_share_dirs}/xorg/ rw,
|
|
owner @{user_share_dirs}/xorg/Xorg.[0-9].log{,.old} rw,
|
|
owner @{user_share_dirs}/xorg/Xorg.pid-@{pid}.log{,.old} rw,
|
|
|
|
owner /var/log/lightdm/x-*.log* rw,
|
|
owner /var/log/Xorg.[0-9].log{,.old} rw,
|
|
owner /var/log/Xorg.pid-@{pid}.log{,.old} rw,
|
|
|
|
/var/lib/gdm/.local/share/xorg/Xorg.[0-9].log{,.old} rw,
|
|
/var/lib/gdm/.local/share/xorg/Xorg.pid-@{pid}.log{,.old} rw,
|
|
|
|
@{run}/nvidia-xdriver-* rw,
|
|
@{run}/sddm/{,**} rw,
|
|
@{run}/lightdm/{,**} rw,
|
|
|
|
/tmp/ r,
|
|
owner /tmp/.tX[0-9]-lock rwk,
|
|
owner /tmp/.X[0-9]-lock rwkl -> /tmp/.tX[0-9]-lock,
|
|
owner /tmp/server-* rwk,
|
|
owner /tmp/serverauth.* r,
|
|
|
|
@{sys}/bus/ r,
|
|
@{sys}/bus/pci/devices/ r,
|
|
@{sys}/class/ r,
|
|
@{sys}/class/{tty,input,drm}/ r,
|
|
@{sys}/class/power_supply/ r,
|
|
@{sys}/devices/**/{uevent,name,id,config} r,
|
|
@{sys}/devices/**/hid r,
|
|
@{sys}/devices/**/power_supply/**/{type,online} r,
|
|
@{sys}/devices/pci[0-9]*/**/ r,
|
|
@{sys}/devices/pci[0-9]*/**/backlight/*/{,max_}brightness r,
|
|
@{sys}/devices/pci[0-9]*/**/backlight/*/brightness rw,
|
|
@{sys}/devices/pci[0-9]*/**/boot_vga r,
|
|
@{sys}/devices/platform/ r,
|
|
@{sys}/module/i915/{,**} r,
|
|
|
|
@{run}/udev/data/+i2c:* r,
|
|
@{run}/udev/data/+input* r, # for mouse, keyboard, touchpad
|
|
@{run}/udev/data/+platform* r, # for ?
|
|
@{run}/udev/data/+drm:card[0-9]-* r, # for screen outputs
|
|
@{run}/udev/data/+dmi* r, # for ?
|
|
@{run}/udev/data/+acpi* r, # for ?
|
|
@{run}/udev/data/+hid* r, # for HID-Compliant Keyboard
|
|
@{run}/udev/data/+pci* r, # for VGA compatible controller
|
|
@{run}/udev/data/+usb* r, # for USB mouse and keyboard
|
|
@{run}/udev/data/+serio* r, # for touchpad?
|
|
@{run}/udev/data/c4:[0-9]* r, # for /dev/tty[0-9]*
|
|
@{run}/udev/data/c5:[0-9]* r, # for /dev/tty, /dev/console, /dev/ptmx
|
|
@{run}/udev/data/c10:[0-9]* r,
|
|
@{run}/udev/data/c13:[0-9]* r, # for /dev/input/*
|
|
@{run}/udev/data/c189:[0-9]* r, # for /dev/bus/usb/**
|
|
@{run}/udev/data/c226:[0-9]* r, # for /dev/dri/card*
|
|
|
|
@{PROC}/@{pids}/cmdline r,
|
|
@{PROC}/cmdline r,
|
|
@{PROC}/mtrr rw,
|
|
|
|
/dev/input/event[0-9]* rw,
|
|
/dev/shm/#[0-9]*[0-9] rw,
|
|
/dev/shm/shmfd-* rw,
|
|
/dev/tty rw,
|
|
/dev/tty[0-9]* rw,
|
|
/dev/vga_arbiter rw, # Graphic card modules
|
|
|
|
include if exists <local/xorg>
|
|
}
|