diff options
| author | Lukasz Kasprzak <lukasz.kasprzak@pm.me> | 2026-03-20 19:16:32 +0100 |
|---|---|---|
| committer | Lukasz Kasprzak <lukasz.kasprzak@pm.me> | 2026-03-20 19:16:32 +0100 |
| commit | 39711cf6c2ec5a3b4480dcb4800cc3802bda5bf2 (patch) | |
| tree | 9221704f413398cfb5d5759083b1e7032566820e /straper/db/public/apparmor/apparmor.d/Xorg | |
| parent | 6b59b75c3a294060dea66bdee16ffaf95ae92889 (diff) | |
| download | bin-39711cf6c2ec5a3b4480dcb4800cc3802bda5bf2.tar.gz bin-39711cf6c2ec5a3b4480dcb4800cc3802bda5bf2.zip | |
feat: first fully successful run e2e on straper
Diffstat (limited to 'straper/db/public/apparmor/apparmor.d/Xorg')
| -rw-r--r-- | straper/db/public/apparmor/apparmor.d/Xorg | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/straper/db/public/apparmor/apparmor.d/Xorg b/straper/db/public/apparmor/apparmor.d/Xorg new file mode 100644 index 0000000..34fe319 --- /dev/null +++ b/straper/db/public/apparmor/apparmor.d/Xorg @@ -0,0 +1,123 @@ +# vim:syntax=apparmor +# Author: Daniel Richard G. <skunk@iSKUNK.ORG> + +# Related: +# https://bugs.launchpad.net/bugs/1292324 +# https://github.com/canonical/lightdm/issues/18 + +abi <abi/4.0>, + +include <tunables/global> + +# Note: attach_disconnected appears necessary in rootless mode +profile Xorg /usr/lib/xorg/Xorg flags=(complain,attach_disconnected, complain) { + include <abstractions/base> + include <abstractions/dbus-strict> + include <abstractions/fonts> + include <abstractions/mesa> + include <abstractions/nameservice> + include <abstractions/vulkan> + include <abstractions/X> + + capability dac_override, + capability ipc_owner, + capability perfmon, + capability setgid, + capability setuid, + capability sys_admin, + capability sys_nice, + capability sys_rawio, + + network netlink raw, + + signal (receive) set=(hup, term), + signal (send) set=(usr1), + + unix (accept, bind, listen, receive, send) type=stream addr="@/tmp/.X11-unix/X[0-9]*", + + dbus (send) + bus=system + path=/org/freedesktop/login1 + interface=org.freedesktop.login1.Manager + member=GetSessionByPID + peer=(name=org.freedesktop.login1), + + dbus (send) + bus=system + path=/org/freedesktop/login1/session/* + interface=org.freedesktop.login1.Session + member={PauseDeviceComplete,ReleaseControl,ReleaseDevice,TakeControl,TakeDevice} + peer=(name=org.freedesktop.login1), + + dbus (receive) + bus=system + path=/org/freedesktop/login1/session/* + interface=org.freedesktop.login1.Session + member=PauseDevice, + + /{,usr/}bin/{bash,dash,sh} ix, + /usr/bin/xkbcomp ix, + + @{PROC}/cmdline r, + @{PROC}/@{pid}/cmdline r, + @{PROC}/ioports r, + @{PROC}/mtrr rw, + + @{sys}/**/ r, + @{sys}/devices/** r, + @{sys}/module/** r, + + @{sys}/devices/pci*/**/backlight/*/brightness rw, + + # Display managers + @{run}/user/@{uid}/gdm/* r, + @{run}/lightdm/** r, + @{run}/lxdm/* r, + @{run}/sddm/* r, + @{run}/slim.auth r, + /var/lib/wdm/** r, + /var/lib/xdm/** r, + + @{run}/nvidia-xdriver-* rw, # TODO: double-check + @{run}/udev/data/** r, + + /dev/dri/card[0-9]* r, + /dev/fb0 rw, + /dev/input/event* rw, + /dev/tty[0-9]* rw, + /dev/vga_arbiter rw, + + /etc/X11/** r, + + owner /tmp/.tX[0-9]*-lock rw, + owner /tmp/.X[0-9]*-lock wl, + owner /tmp/serverauth.* r, # startx(1) + owner /tmp/server-[0-9]*.xkm rw, + + /usr/lib/xorg/modules/ r, + /usr/lib/xorg/modules/** mr, + /usr/share/** r, + + owner /var/lib/xkb/** rw, + owner /var/log/Xorg.pid-[1-9]*.log rw, + owner /var/log/Xorg.[0-9]*.log{,.old} rw, + + # Rootless mode (gdm3, startx) + owner @{HOME}/.local/ w, + owner @{HOME}/.local/share/ w, + owner @{HOME}/.local/share/xorg/ w, + owner @{HOME}/.local/share/xorg/Xorg.pid-[1-9]*.log rw, + owner @{HOME}/.local/share/xorg/Xorg.[0-9]*.log{,.old} rw, + owner /var/lib/gdm*/.cache/mesa_shader_cache/ rw, + owner /var/lib/gdm*/.cache/mesa_shader_cache/** rwk, + owner /var/lib/gdm*/.local/share/xorg/Xorg.pid-[1-9]*.log rw, + owner /var/lib/gdm*/.local/share/xorg/Xorg.[0-9]*.log{,.old} rw, + + # When running without a kernel mode-setting (KMS) driver, Xorg may need + # these additional permissions. DO NOT enable these unless necessary! + #nokms#/dev/mem rw, + #nokms#@{sys}/devices/pci[0-9]*/*/*/resource[0-9] w, + + # Site-specific additions and overrides. See local/README for details. + include if exists <local/Xorg> +} |
