Merge branch 'roddhjav:main' into main

This commit is contained in:
Besanon 2024-10-23 13:20:38 +02:00 committed by GitHub
commit f5e0472124
Failed to generate hash of commit
168 changed files with 283 additions and 267 deletions

View file

@ -36,8 +36,6 @@
@{bin}/sudo mr, @{bin}/sudo mr,
@{lib}/sudo/** mr, @{lib}/sudo/** mr,
@{etc_ro}/environment r,
@{etc_ro}/security/limits.d/{,*} r,
@{etc_ro}/sudo.conf r, @{etc_ro}/sudo.conf r,
@{etc_ro}/sudoers r, @{etc_ro}/sudoers r,
@{etc_ro}/sudoers.d/{,*} r, @{etc_ro}/sudoers.d/{,*} r,
@ -53,8 +51,8 @@
owner @{HOME}/.sudo_as_admin_successful rw, owner @{HOME}/.sudo_as_admin_successful rw,
# yubikey support # yubikey support
owner @{HOME}/.yubico/challenge-* rw,
@{HOME}/.yubico/ r, @{HOME}/.yubico/ r,
owner @{HOME}/.yubico/challenge-* rw,
@{run}/faillock/ rw, @{run}/faillock/ rw,
@{run}/faillock/@{user} rwk, @{run}/faillock/@{user} rwk,

View file

@ -8,9 +8,9 @@
include <abstractions/bus-system> include <abstractions/bus-system>
include <abstractions/consoles> include <abstractions/consoles>
ptrace (read) peer=@{p_systemd}, ptrace read peer=@{p_systemd},
unix (bind) type=stream addr=@@{hex16}/bus/systemctl/, unix bind type=stream addr=@@{hex16}/bus/systemctl/,
@{bin}/systemctl mr, @{bin}/systemctl mr,

View file

@ -44,17 +44,16 @@
owner /tmp/newroot/ w, owner /tmp/newroot/ w,
owner /tmp/oldroot/ w, owner /tmp/oldroot/ w,
@{PROC}/sys/kernel/overflowgid r,
@{PROC}/sys/kernel/overflowuid r,
@{att}/@{PROC}/sys/user/max_user_namespaces rw, @{att}/@{PROC}/sys/user/max_user_namespaces rw,
owner @{att}/@{PROC}/@{pid}/cgroup r, owner @{att}/@{PROC}/@{pid}/cgroup r,
owner @{att}/@{PROC}/@{pid}/fd/ r,
owner @{att}/@{PROC}/@{pid}/gid_map rw, owner @{att}/@{PROC}/@{pid}/gid_map rw,
owner @{att}/@{PROC}/@{pid}/mountinfo r, owner @{att}/@{PROC}/@{pid}/mountinfo r,
owner @{att}/@{PROC}/@{pid}/setgroups rw, owner @{att}/@{PROC}/@{pid}/setgroups rw,
owner @{att}/@{PROC}/@{pid}/uid_map rw, owner @{att}/@{PROC}/@{pid}/uid_map rw,
@{PROC}/sys/kernel/overflowgid r,
@{PROC}/sys/kernel/overflowuid r,
owner @{PROC}/@{pid}/fd/ r,
include if exists <abstractions/common/bwrap.d> include if exists <abstractions/common/bwrap.d>
# vim:syntax=apparmor # vim:syntax=apparmor

View file

@ -52,7 +52,7 @@
owner @{user_cache_dirs}/#@{int} rw, owner @{user_cache_dirs}/#@{int} rw,
owner @{user_cache_dirs}/icon-cache.kcache rw, owner @{user_cache_dirs}/icon-cache.kcache rw,
owner @{user_cache_dirs}/ksycoca{5,6}_??_* rwlk, owner @{user_cache_dirs}/ksycoca{5,6}_??{_,-}*.@{rand6} rwlk,
owner @{user_config_dirs}/baloofilerc r, owner @{user_config_dirs}/baloofilerc r,
owner @{user_config_dirs}/dolphinrc r, owner @{user_config_dirs}/dolphinrc r,
@ -67,7 +67,7 @@
# else if @{DE} == xfce # else if @{DE} == xfce
/usr/share/xfce4/ r, /usr/share/xfce{,4}/ r,
owner @{user_config_dirs}/xfce4/help{,ers}.rc rw, owner @{user_config_dirs}/xfce4/help{,ers}.rc rw,
owner @{user_config_dirs}/xfce4/help{,ers}.rc.@{int}.tmp rw, owner @{user_config_dirs}/xfce4/help{,ers}.rc.@{int}.tmp rw,

View file

@ -76,7 +76,7 @@
/dev/sr@{int} rk, /dev/sr@{int} rk,
# Lookup block device by major:minor numbers # Lookup block device by major:minor numbers
# See: https://apparmor.pujol.io/development/structure/#udev-rules # See: https://apparmor.pujol.io/development/internal/#udev-rules
@{sys}/block/ r, @{sys}/block/ r,
@{sys}/class/block/ r, @{sys}/class/block/ r,

View file

@ -6,10 +6,9 @@
abi <abi/4.0>, abi <abi/4.0>,
@{lib}/@{multiarch}/libproxy/*/modules/*.so mr, @{lib}/@{multiarch}/libproxy/*/modules/*.so mr,
@{lib}/@{multiarch}/libvisual-[0-9].[0-9]/*/*.so mr, @{lib}/@{multiarch}/libvisual-@{version}/*/*.so mr,
@{lib}/frei0r-@{int}/*.so mr, @{lib}/frei0r-@{int}/*.so mr,
# FIXME: not compatible with FSP mode due conflicting x modifiers
@{lib}/@{multiarch}/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner rix, @{lib}/@{multiarch}/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner rix,
@{lib}/@{multiarch}/gstreamer-1.0/gst-plugin-scanner rix, @{lib}/@{multiarch}/gstreamer-1.0/gst-plugin-scanner rix,
@{lib}/gstreamer-1.0/gst-plugin-scanner rix, @{lib}/gstreamer-1.0/gst-plugin-scanner rix,

View file

@ -11,7 +11,7 @@
include <abstractions/X-strict> include <abstractions/X-strict>
include <abstractions/xdg-desktop> include <abstractions/xdg-desktop>
/usr/share/xfce4/ r, /usr/share/xfce{,4}/ r,
owner @{user_config_dirs}/xfce4/help{,ers}.rc rw, owner @{user_config_dirs}/xfce4/help{,ers}.rc rw,
owner @{user_config_dirs}/xfce4/help{,ers}.rc.@{int}.tmp rw, owner @{user_config_dirs}/xfce4/help{,ers}.rc.@{int}.tmp rw,

View file

@ -16,7 +16,7 @@ include <tunables/global>
profile dbus-system flags=(attach_disconnected) { profile dbus-system flags=(attach_disconnected) {
include <abstractions/base> include <abstractions/base>
include <abstractions/bus-system> include <abstractions/bus-system>
include <abstractions/consoles> include <abstractions/attached/consoles>
include <abstractions/deny-sensitive-home> include <abstractions/deny-sensitive-home>
include <abstractions/nameservice-strict> include <abstractions/nameservice-strict>

View file

@ -10,6 +10,7 @@ include <tunables/global>
@{exec_path} = @{bin}/fc-list @{exec_path} = @{bin}/fc-list
profile fc-list @{exec_path} { profile fc-list @{exec_path} {
include <abstractions/base> include <abstractions/base>
include <abstractions/consoles>
include <abstractions/fonts> include <abstractions/fonts>
include <abstractions/fontconfig-cache-read> include <abstractions/fontconfig-cache-read>

View file

@ -65,6 +65,7 @@ profile xdg-desktop-portal-gnome @{exec_path} flags=(attach_disconnected) {
owner @{PROC}/@{pid}/cmdline r, owner @{PROC}/@{pid}/cmdline r,
owner @{PROC}/@{pid}/mountinfo r, owner @{PROC}/@{pid}/mountinfo r,
owner @{PROC}/@{pid}/task/@{tid}/ r, owner @{PROC}/@{pid}/task/@{tid}/ r,
owner @{PROC}/@{pid}/task/@{tid}/comm rw,
owner @{PROC}/@{pid}/task/@{tid}/status r, owner @{PROC}/@{pid}/task/@{tid}/status r,
include if exists <local/xdg-desktop-portal-gnome> include if exists <local/xdg-desktop-portal-gnome>

View file

@ -9,6 +9,7 @@ include <tunables/global>
@{exec_path} = @{lib}/xdg-desktop-portal-gtk @{exec_path} = @{lib}/xdg-desktop-portal-gtk
profile xdg-desktop-portal-gtk @{exec_path} flags=(attach_disconnected) { profile xdg-desktop-portal-gtk @{exec_path} flags=(attach_disconnected) {
include <abstractions/base> include <abstractions/base>
include <abstractions/attached/consoles>
include <abstractions/bus-accessibility> include <abstractions/bus-accessibility>
include <abstractions/bus-session> include <abstractions/bus-session>
include <abstractions/bus-system> include <abstractions/bus-system>

View file

@ -10,6 +10,7 @@ include <tunables/global>
@{exec_path} = @{bin}/gpg-agent @{exec_path} = @{bin}/gpg-agent
profile gpg-agent @{exec_path} { profile gpg-agent @{exec_path} {
include <abstractions/base> include <abstractions/base>
include <abstractions/consoles>
include <abstractions/nameservice-strict> include <abstractions/nameservice-strict>
signal (receive) peer=pinentry-*, signal (receive) peer=pinentry-*,

View file

@ -10,6 +10,7 @@ include <tunables/global>
@{exec_path} = @{bin}/gpgsm @{exec_path} = @{bin}/gpgsm
profile gpgsm @{exec_path} { profile gpgsm @{exec_path} {
include <abstractions/base> include <abstractions/base>
include <abstractions/consoles>
include <abstractions/nameservice-strict> include <abstractions/nameservice-strict>
capability dac_read_search, capability dac_read_search,

View file

@ -172,12 +172,13 @@ profile sddm @{exec_path} flags=(attach_disconnected,mediate_deleted) {
owner @{tmp}/#@{int} rw, owner @{tmp}/#@{int} rw,
owner @{tmp}/sddm-auth* rw, owner @{tmp}/sddm-auth* rw,
@{att}/@{run}/systemd/sessions/{,@{l}}@{int}.ref rw,
@{run}/faillock/@{user} rwk, @{run}/faillock/@{user} rwk,
@{run}/sddm.pid rw, @{run}/sddm.pid rw,
@{run}/sddm/\{@{uuid}\} rw, @{run}/sddm/\{@{uuid}\} rw,
@{run}/sddm/#@{int} rw, @{run}/sddm/#@{int} rw,
@{run}/sddm/xauth_@{rand6} rwl -> @{run}/sddm/#@{int}, @{run}/sddm/xauth_@{rand6} rwl -> @{run}/sddm/#@{int},
@{run}/systemd/sessions/*.ref rw,
@{run}/user/@{uid}/xauth_@{rand6} rwl, @{run}/user/@{uid}/xauth_@{rand6} rwl,
owner @{run}/sddm/ rw, owner @{run}/sddm/ rw,
owner @{run}/user/@{uid}/ r, owner @{run}/user/@{uid}/ r,

View file

@ -59,9 +59,9 @@ profile mullvad-daemon @{exec_path} flags=(attach_disconnected) {
owner @{tmp}/@{uuid} rw, owner @{tmp}/@{uuid} rw,
owner @{tmp}/talpid-openvpn-@{uuid} rw, owner @{tmp}/talpid-openvpn-@{uuid} rw,
@{PROC}/sys/net/ipv{4,6}/conf/all/src_valid_mark rw,
owner @{PROC}/@{pid}/mounts r, owner @{PROC}/@{pid}/mounts r,
owner @{PROC}/sys/net/ipv6/conf/all/disable_ipv6 r, owner @{PROC}/sys/net/ipv6/conf/all/disable_ipv6 r,
@{PROC}/sys/net/ipv{4,6}/conf/all/src_valid_mark rw,
/dev/net/tun rw, /dev/net/tun rw,

View file

@ -47,14 +47,15 @@ profile aurpublish @{exec_path} {
/etc/makepkg.conf r, /etc/makepkg.conf r,
/etc/makepkg.conf.d/{,**} r, /etc/makepkg.conf.d/{,**} r,
owner @{user_build_dirs}/**/ w, owner @{user_build_dirs}/{,**/} w,
owner @{user_projects_dirs}/** r, owner @{user_projects_dirs}/** r,
owner @{user_projects_dirs}/**/.git/COMMIT_EDITMSG rw, owner @{user_projects_dirs}/**/.git/COMMIT_EDITMSG rw,
owner @{user_projects_dirs}/**/.SRCINFO rw, owner @{user_projects_dirs}/**/.SRCINFO rw,
owner @{user_cache_dirs}/makepkg/src/* rw, owner @{user_cache_dirs}/makepkg/src/** rw,
owner @{user_config_dirs}/pacman/makepkg.conf r, owner @{user_config_dirs}/pacman/makepkg.conf r,
owner /tmp/*/src/ w,
owner @{tmp}/tmp.@{rand10} rw, owner @{tmp}/tmp.@{rand10} rw,
/dev/tty rw, /dev/tty rw,
@ -64,14 +65,26 @@ profile aurpublish @{exec_path} {
@{bin}/gpg{,2} mr, @{bin}/gpg{,2} mr,
@{bin}/gpgconf mr, @{bin}/gpgconf mr,
@{bin}/gpg-agent rix,
@{lib}/{,gnupg/}scdaemon rix,
owner @{HOME}/@{XDG_GPG_DIR}/ rw, owner @{HOME}/@{XDG_GPG_DIR}/ rw,
owner @{HOME}/@{XDG_GPG_DIR}/** rwkl -> @{HOME}/@{XDG_GPG_DIR}/**, owner @{HOME}/@{XDG_GPG_DIR}/** rwkl -> @{HOME}/@{XDG_GPG_DIR}/**,
owner @{user_cache_dirs}/makepkg/src/*.asc r, owner @{user_cache_dirs}/makepkg/src/*.asc r,
owner @{run}/user/@{uid}/ r,
owner @{run}/user/@{uid}/gnupg/ r,
owner @{run}/user/@{uid}/gnupg/d.@{rand}/ rw,
owner @{run}/user/@{uid}/gnupg/d.@{rand}/S.gpg-agent rw,
owner @{run}/user/@{uid}/gnupg/d.@{rand}/S.gpg-agent.browser w,
owner @{run}/user/@{uid}/gnupg/d.@{rand}/S.gpg-agent.extra w,
owner @{run}/user/@{uid}/gnupg/d.@{rand}/S.gpg-agent.ssh w,
owner @{tmp}/tmp.@{rand10} rw, owner @{tmp}/tmp.@{rand10} rw,
owner @{PROC}/@{pid}/fd/ r,
include if exists <local/aurpublish_gpg> include if exists <local/aurpublish_gpg>
} }

View file

@ -9,6 +9,7 @@ include <tunables/global>
@{exec_path} = @{bin}/systemd-escape @{exec_path} = @{bin}/systemd-escape
profile systemd-escape @{exec_path} { profile systemd-escape @{exec_path} {
include <abstractions/base> include <abstractions/base>
include <abstractions/consoles>
include <abstractions/common/systemd> include <abstractions/common/systemd>
@{exec_path} mr, @{exec_path} mr,

View file

@ -16,11 +16,11 @@ profile systemd-hwdb @{exec_path} flags=(attach_disconnected,mediate_deleted) {
@{exec_path} mr, @{exec_path} mr,
@{lib}/udev/#@{int} rwl, @{lib}/udev/#@{int} rwl,
@{lib}/udev/.#hwdb.bin@{hex} wl -> @{lib}/udev/#@{int}, @{lib}/udev/.#hwdb.bin@{hex16} wl -> @{lib}/udev/#@{int},
@{lib}/udev/hwdb.bin w, @{lib}/udev/hwdb.bin w,
/etc/udev/.#hwdb.bind* rw, /etc/udev/.#hwdb.bin@{hex16} wl -> /etc/udev/#@{int},
/etc/udev/hwdb.bin rw, /etc/udev/hwdb.bin w,
/etc/udev/hwdb.d/{,*} r, /etc/udev/hwdb.d/{,*} r,
owner @{PROC}/@{pid}/stat r, owner @{PROC}/@{pid}/stat r,

View file

@ -64,6 +64,7 @@ profile systemd-journald @{exec_path} {
@{run}/udev/data/b259:@{int} r, # Block Extended Major @{run}/udev/data/b259:@{int} r, # Block Extended Major
@{run}/udev/data/c1:@{int} r, # For RAM disk @{run}/udev/data/c1:@{int} r, # For RAM disk
@{run}/udev/data/c4:@{int} r, # For TTY devices @{run}/udev/data/c4:@{int} r, # For TTY devices
@{run}/udev/data/b8:@{int} r, # for /dev/sd*
@{run}/udev/data/c10:@{int} r, # For non-serial mice, misc features @{run}/udev/data/c10:@{int} r, # For non-serial mice, misc features
@{run}/udev/data/c108:@{int} r, # For /dev/ppp @{run}/udev/data/c108:@{int} r, # For /dev/ppp
@{run}/udev/data/c18[8-9]:@{int} r, # USB devices & USB serial converters @{run}/udev/data/c18[8-9]:@{int} r, # USB devices & USB serial converters

View file

@ -19,9 +19,9 @@ profile systemd-sysusers @{exec_path} flags=(attach_disconnected) {
@{exec_path} mr, @{exec_path} mr,
# Config file locations # Config file locations
/etc/sysusers.d/*.conf r, /etc/sysusers.d/{,*.conf} r,
@{run}/sysusers.d/*.conf r, @{run}/sysusers.d/{,*.conf} r,
/usr/lib/sysusers.d/*.conf r, /usr/lib/sysusers.d/{,*.conf} r,
# Where the users can be created, # Where the users can be created,
/home/{,*} rw, /home/{,*} rw,

View file

@ -26,8 +26,9 @@ profile acpid @{exec_path} flags=(attach_disconnected) {
/etc/acpi/{,**} r, /etc/acpi/{,**} r,
/etc/acpi/handler.sh rix, /etc/acpi/handler.sh rix,
@{run}/acpid.socket w,
owner @{run}/acpid.socket rw, owner @{run}/acpid.socket rw,
owner @{run}/acpid.pid rw, owner @{run}/acpid.pid rw,
owner @{PROC}/@{pids}/fd/ r, owner @{PROC}/@{pids}/fd/ r,
owner @{PROC}/@{pids}/loginuid r, owner @{PROC}/@{pids}/loginuid r,

View file

@ -40,6 +40,10 @@ profile blkid @{exec_path} flags=(attach_disconnected) {
@{PROC}/partitions r, @{PROC}/partitions r,
@{PROC}/swaps r, @{PROC}/swaps r,
# Other possible location of the cache file
/dev/.blkid.tab{,-@{rand6}} rw,
/dev/blkid.tab.old rwl -> /dev/blkid.tab,
owner /dev/tty@{int} rw, owner /dev/tty@{int} rw,
include if exists <local/blkid> include if exists <local/blkid>

View file

@ -60,7 +60,6 @@ profile btrfs @{exec_path} flags=(attach_disconnected) {
/dev/pts/@{int} rw, /dev/pts/@{int} rw,
/dev/tty@{int} rw, /dev/tty@{int} rw,
include if exists <local/btrfs> include if exists <local/btrfs>
} }

View file

@ -12,9 +12,8 @@ profile dfc @{exec_path} {
include <abstractions/base> include <abstractions/base>
include <abstractions/consoles> include <abstractions/consoles>
capability dac_read_search, capability dac_override,
# No visible effect capability dac_read_search,
deny capability dac_override,
@{exec_path} mr, @{exec_path} mr,

View file

@ -30,6 +30,7 @@ profile dkms @{exec_path} flags=(attach_disconnected) {
@{bin}/bc rix, @{bin}/bc rix,
@{bin}/gcc rix, @{bin}/gcc rix,
@{bin}/getconf rix, @{bin}/getconf rix,
@{bin}/kill rix,
@{bin}/kmod rCx -> kmod, @{bin}/kmod rCx -> kmod,
@{bin}/ld rix, @{bin}/ld rix,
@{bin}/lsb_release rPx -> lsb_release, @{bin}/lsb_release rPx -> lsb_release,

View file

@ -40,7 +40,7 @@ profile foliate @{exec_path} flags=(attach_disconnected) {
/usr/share/com.github.johnfactotum.Foliate/{,**} r, /usr/share/com.github.johnfactotum.Foliate/{,**} r,
owner /bindfile@{rand6} rw, owner /bindfile@{rand6} rw,
owner @{att}/.flatpak-info r, owner /.flatpak-info r,
owner @{user_books_dirs}/{,**} r, owner @{user_books_dirs}/{,**} r,
owner @{user_torrents_dirs}/{,**} r, owner @{user_torrents_dirs}/{,**} r,

View file

@ -66,11 +66,8 @@ profile fwupd @{exec_path} flags=(attach_disconnected,complain) {
/etc/pki/fwupd-metadata/{,**} r, /etc/pki/fwupd-metadata/{,**} r,
/etc/pki/fwupd/{,**} r, /etc/pki/fwupd/{,**} r,
/var/cache/fwupd/{,**} rw, /etc/machine-id r,
/var/lib/flatpak/exports/share/mime/mime.cache r, /var/lib/dbus/machine-id r,
/var/lib/fwupd/{,**} rw,
/var/lib/fwupd/pending.db rwk,
/var/tmp/etilqs_@{hex16} rw,
/boot/{,**} r, /boot/{,**} r,
/boot/EFI/*/.goutputstream-@{rand6} rw, /boot/EFI/*/.goutputstream-@{rand6} rw,
@ -78,8 +75,12 @@ profile fwupd @{exec_path} flags=(attach_disconnected,complain) {
/boot/EFI/*/fwupdx@{int}.efi rw, /boot/EFI/*/fwupdx@{int}.efi rw,
@{lib}/fwupd/efi/fwupdx@{int}.efi{,.signed} r, @{lib}/fwupd/efi/fwupdx@{int}.efi{,.signed} r,
/etc/machine-id r, /var/lib/flatpak/exports/share/mime/mime.cache r,
/var/lib/dbus/machine-id r, /var/tmp/etilqs_@{hex16} rw,
owner /var/cache/fwupd/ rw,
owner /var/cache/fwupd/** rwk,
owner /var/lib/fwupd/ rw,
owner /var/lib/fwupd/** rwk,
# In order to get to this file, the attach_disconnected flag has to be set # In order to get to this file, the attach_disconnected flag has to be set
owner @{user_cache_dirs}/fwupd/lvfs-metadata.xml.gz r, owner @{user_cache_dirs}/fwupd/lvfs-metadata.xml.gz r,
@ -88,8 +89,6 @@ profile fwupd @{exec_path} flags=(attach_disconnected,complain) {
@{sys}/**/ r, @{sys}/**/ r,
@{sys}/devices/** r, @{sys}/devices/** r,
@{sys}/bus/hid/drivers/*/uevent r,
@{sys}/bus/usb/drivers/usbhid/uevent r,
@{sys}/firmware/acpi/** r, @{sys}/firmware/acpi/** r,
@{sys}/firmware/dmi/tables/DMI r, @{sys}/firmware/dmi/tables/DMI r,
@{sys}/firmware/dmi/tables/smbios_entry_point r, @{sys}/firmware/dmi/tables/smbios_entry_point r,
@ -99,9 +98,7 @@ profile fwupd @{exec_path} flags=(attach_disconnected,complain) {
@{sys}/firmware/efi/efivars/fwupd-* rw, @{sys}/firmware/efi/efivars/fwupd-* rw,
@{sys}/kernel/security/lockdown r, @{sys}/kernel/security/lockdown r,
@{sys}/kernel/security/tpm@{int}/binary_bios_measurements r, @{sys}/kernel/security/tpm@{int}/binary_bios_measurements r,
@{sys}/module/*/uevent r, @{sys}/**/uevent r,
@{sys}/module/uhid/uevent r,
@{sys}/module/usbhid/uevent r,
@{sys}/power/mem_sleep r, @{sys}/power/mem_sleep r,
@{att}/@{run}/systemd/inhibit/@{int}.ref rw, @{att}/@{run}/systemd/inhibit/@{int}.ref rw,

View file

@ -9,6 +9,7 @@ include <tunables/global>
@{exec_path} = @{bin}/issue-generator @{exec_path} = @{bin}/issue-generator
profile issue-generator @{exec_path} { profile issue-generator @{exec_path} {
include <abstractions/base> include <abstractions/base>
include <abstractions/consoles>
include <abstractions/nameservice-strict> include <abstractions/nameservice-strict>
@{exec_path} mr, @{exec_path} mr,

View file

@ -8,7 +8,7 @@ abi <abi/4.0>,
include <tunables/global> include <tunables/global>
@{exec_path} = @{bin}/lsblk @{exec_path} = @{bin}/lsblk
profile lsblk @{exec_path} { profile lsblk @{exec_path} flags=(attach_disconnected) {
include <abstractions/base> include <abstractions/base>
include <abstractions/consoles> include <abstractions/consoles>
include <abstractions/disks-read> include <abstractions/disks-read>

View file

@ -50,6 +50,7 @@ profile mkinitramfs @{exec_path} {
@{bin}/touch rix, @{bin}/touch rix,
@{bin}/tr rix, @{bin}/tr rix,
@{bin}/tsort rix, @{bin}/tsort rix,
@{bin}/uniq rix,
@{bin}/xargs rix, @{bin}/xargs rix,
@{bin}/xz rix, @{bin}/xz rix,
@{bin}/zstd rix, @{bin}/zstd rix,
@ -85,13 +86,15 @@ profile mkinitramfs @{exec_path} {
owner /boot/initrd.img-*.new rw, owner /boot/initrd.img-*.new rw,
/var/tmp/ r, /var/tmp/ r,
/var/tmp/mkinitramfs_*/usr/lib/modules/*/modules.{order,builtin} rw, /var/tmp/modules_@{rand6} rw,
owner /var/tmp/mkinitramfs_*/ rw, /var/tmp/mkinitramfs_@{rand6}/@{lib}/modules/*/modules.{order,builtin} rw,
owner /var/tmp/mkinitramfs_*/** rwl -> /var/tmp/mkinitramfs_*/**, owner /var/tmp/mkinitramfs_@{rand6} rw,
owner /var/tmp/mkinitramfs-* rw, owner /var/tmp/mkinitramfs_@{rand6}/** rwl -> /var/tmp/mkinitramfs_*/**,
owner /var/tmp/mkinitramfs-@{rand6} rw,
@{sys}/devices/platform/ r, @{sys}/devices/platform/ r,
@{sys}/devices/platform/reg-dummy/{,**}/ r, @{sys}/devices/platform/**/ r,
@{sys}/devices/platform/**/modalias r,
@{sys}/module/compression r, @{sys}/module/compression r,
@{PROC}/cmdline r, @{PROC}/cmdline r,
@ -126,18 +129,18 @@ profile mkinitramfs @{exec_path} {
@{sh_path} rix, @{sh_path} rix,
@{bin}/ldconfig.real rix, @{bin}/ldconfig.real rix,
owner /var/tmp/mkinitramfs_*/etc/ld.so.conf r, owner /var/tmp/mkinitramfs_@{rand6}/etc/ld.so.conf r,
owner /var/tmp/mkinitramfs_*/etc/ld.so.conf.d/{,*.conf} r, owner /var/tmp/mkinitramfs_@{rand6}/etc/ld.so.conf.d/{,*.conf} r,
owner /var/tmp/mkinitramfs_*/{usr/,}lib{,32,x32}/ r, owner /var/tmp/mkinitramfs_@{rand6}/@{lib}/ r,
owner /var/tmp/mkinitramfs_*/{usr/,}lib/@{multiarch}/ r, owner /var/tmp/mkinitramfs_@{rand6}/@{lib}/@{multiarch}/ r,
owner /var/tmp/mkinitramfs_*/{usr/,}lib/@{multiarch}/*.so* rw, owner /var/tmp/mkinitramfs_@{rand6}/@{lib}/@{multiarch}/*.so* rw,
owner /var/tmp/mkinitramfs_*/{usr/,}lib{,32,x32}/*.so* rw, owner /var/tmp/mkinitramfs_@{rand6}/@{lib}/*.so* rw,
owner /var/tmp/mkinitramfs_*/etc/ld.so.cache{,~} rw, owner /var/tmp/mkinitramfs_@{rand6}/etc/ld.so.cache{,~} rw,
owner /var/tmp/mkinitramfs_*/var/cache/ldconfig/ rw, owner /var/tmp/mkinitramfs_@{rand6}/var/cache/ldconfig/ rw,
owner /var/tmp/mkinitramfs_*/var/cache/ldconfig/aux-cache{,~} rw, owner /var/tmp/mkinitramfs_@{rand6}/var/cache/ldconfig/aux-cache{,~} rw,
include if exists <local/mkinitramfs_ldconfig> include if exists <local/mkinitramfs_ldconfig>
} }
@ -156,7 +159,7 @@ profile mkinitramfs @{exec_path} {
/usr/share/initramfs-tools/scripts/{,**/} r, /usr/share/initramfs-tools/scripts/{,**/} r,
/etc/initramfs-tools/scripts/{,**/} r, /etc/initramfs-tools/scripts/{,**/} r,
owner /var/tmp/mkinitramfs_*/{,**/} r, owner /var/tmp/mkinitramfs_@{rand6}/{,**/} r,
include if exists <local/mkinitramfs_find> include if exists <local/mkinitramfs_find>
} }
@ -165,11 +168,13 @@ profile mkinitramfs @{exec_path} {
include <abstractions/base> include <abstractions/base>
include <abstractions/app/kmod> include <abstractions/app/kmod>
owner /var/tmp/mkinitramfs_*/usr/lib/modules/*/ r, owner /var/tmp/mkinitramfs_@{rand6}/usr/lib/modules/*/ r,
owner /var/tmp/mkinitramfs_*/usr/lib/modules/*/modules.* rw, owner /var/tmp/mkinitramfs_@{rand6}/usr/lib/modules/*/modules.* rw,
owner /var/tmp/mkinitramfs_*/usr/lib/modules/*/updates/{,**} r, owner /var/tmp/mkinitramfs_@{rand6}usr/lib/modules/*/updates/{,**} r,
owner /var/tmp/mkinitramfs_*/usr/lib/modules/*/kernel/{,**/} r, owner /var/tmp/mkinitramfs_@{rand6}/usr/lib/modules/*/kernel/{,**/} r,
owner /var/tmp/mkinitramfs_*/usr/lib/modules/*/kernel/**/*.ko r, owner /var/tmp/mkinitramfs_@{rand6}/usr/lib/modules/*/kernel/**/*.ko* r,
@{sys}/module/compression r,
include if exists <local/mkinitramfs_kmod> include if exists <local/mkinitramfs_kmod>
} }

View file

@ -13,6 +13,10 @@ profile sync @{exec_path} {
@{exec_path} mr, @{exec_path} mr,
# Common paths where sync is used to flush all write operations on a single file to disk
# TODO: /** rw, ?
/boot/initrd-*-default rw,
include if exists <local/sync> include if exists <local/sync>
} }

View file

@ -4,6 +4,7 @@
# SPDX-License-Identifier: GPL-2.0-only # SPDX-License-Identifier: GPL-2.0-only
abi <abi/4.0>, abi <abi/4.0>,
include <tunables/global> include <tunables/global>
@{name} = vesktop @{name} = vesktop

View file

@ -12,35 +12,17 @@ profile vnstat @{exec_path} {
include <abstractions/base> include <abstractions/base>
include <abstractions/consoles> include <abstractions/consoles>
# The following rules are needed when adding a new interface to the vnstat database. Usually this
# action is performed as root, but the vnstatd daemon is run as vnstat (user/group), and all the
# database files under /var/lib/vnstat/ are owned by vnstat:vnstat. Because of the above, the
# dac_override CAP is needed to allow writing files in that dir.
#
# If this CAP was denied, then the following error is printed when adding new interfaces:
#
# Error: Exec step failed (8: attempt to write a readonly database): "insert into interface
# (name, active, created, updated, rxcounter, txcounter, rxtotal, txtotal) values ('eth0', 1,
# datetime('now', 'localtime'), datetime('now', 'localtime'), 0, 0, 0, 0)"
# Error: Adding interface "ifb0" to database failed.
#
capability dac_override,
#
# Also the vnstat.db file has to have the write permission:
/var/lib/vnstat/vnstat.db w,
/var/lib/vnstat/vnstat.db-journal rw,
#
# This is needed to change the owner:group to vnstat:vnstat of the database file.
capability chown, capability chown,
capability dac_override,
@{exec_path} mr, @{exec_path} mr,
# Many apps/users can query vnstat database, so don't use owner here.
/var/lib/vnstat/ r,
/var/lib/vnstat/vnstat.db rk,
/etc/vnstat.conf r, /etc/vnstat.conf r,
/var/lib/vnstat/ r,
/var/lib/vnstat/vnstat.db rwk,
/var/lib/vnstat/vnstat.db-journal rw,
@{sys}/class/net/ r, @{sys}/class/net/ r,
@{sys}/devices/@{pci}/net/*/statistics/{tx,rx}_{bytes,packets} r, @{sys}/devices/@{pci}/net/*/statistics/{tx,rx}_{bytes,packets} r,

View file

@ -16,7 +16,7 @@ readonly HEADERS=(
) )
_die() { _die() {
echo "$*" echo -e "\033[1;31m ✗ Error: \033[0m$*"
exit 1 exit 1
} }
@ -46,6 +46,9 @@ _ensure_indentation() {
in_profile=true in_profile=true
first_line_after_profile=true first_line_after_profile=true
elif [[ "$line" =~ [[:space:]]+$ ]]; then
_die "$file:$line_number: line has trailing whitespace."
elif $in_profile; then elif $in_profile; then
if $first_line_after_profile; then if $first_line_after_profile; then
local leading_spaces="${line%%[! ]*}" local leading_spaces="${line%%[! ]*}"
@ -104,9 +107,10 @@ _ensure_vim() {
} }
check_profiles() { check_profiles() {
echo " ⋅ Checking if all profiles contain:" echo -e "\033[1m ⋅ \033[0mChecking if all profiles contain:"
echo " - apparmor.d header & license" echo " - apparmor.d header & license"
echo " - Check indentation: 2 spaces" echo " - Check indentation: 2 spaces"
echo " - Check for trailing whitespaces"
echo " - 'abi <abi/4.0>,'" echo " - 'abi <abi/4.0>,'"
echo " - 'profile <profile_name>'" echo " - 'profile <profile_name>'"
echo " - 'include if exists <local/*>'" echo " - 'include if exists <local/*>'"
@ -140,9 +144,10 @@ check_profiles() {
} }
check_abstractions() { check_abstractions() {
echo " ⋅ Checking if all abstractions contain:" echo -e "\033[1m ⋅ \033[0mChecking if all abstractions contain:"
echo " - apparmor.d header & license" echo " - apparmor.d header & license"
echo " - Check indentation: 2 spaces" echo " - Check indentation: 2 spaces"
echo " - Check for trailing whitespaces"
echo " - 'abi <abi/4.0>,'" echo " - 'abi <abi/4.0>,'"
echo " - 'include if exists <abstractions/*.d>'" echo " - 'include if exists <abstractions/*.d>'"
echo " - vim:syntax=apparmor" echo " - vim:syntax=apparmor"