apparmor.d/apparmor.d/profiles-g-l/gpartedbin
2023-03-07 17:57:57 +00:00

157 lines
3.8 KiB
Text

# apparmor.d - Full set of apparmor profiles
# Copyright (C) 2019-2021 Mikhail Morfikov
# Copyright (C) 2023 Alexandre Pujol <alexandre@pujol.io>
# SPDX-License-Identifier: GPL-2.0-only
abi <abi/3.0>,
include <tunables/global>
@{exec_path} = /{usr/,}{s,}bin/gpartedbin
@{exec_path} += @{libexec}/gpartedbin
@{exec_path} += @{libexec}/gparted/gpartedbin
profile gpartedbin @{exec_path} {
include <abstractions/base>
include <abstractions/dconf-write>
include <abstractions/disks-write>
include <abstractions/fontconfig-cache-read>
include <abstractions/fonts>
include <abstractions/freedesktop.org>
include <abstractions/gtk>
capability dac_read_search,
capability sys_admin,
capability sys_rawio,
# Needed?
# deny capability sys_nice,
ptrace (read),
@{exec_path} mr,
/{usr/,}bin/{,ba,da}sh rix,
/{usr/,}{s,}bin/blkid rPx,
/{usr/,}{s,}bin/dmidecode rPx,
/{usr/,}{s,}bin/hdparm rPx,
/{usr/,}bin/kmod rPx,
/{usr/,}bin/mount rCx -> mount,
/{usr/,}bin/udevadm rCx -> udevadm,
/{usr/,}bin/umount rCx -> umount,
/{usr/,}{s,}bin/dmraid rPUx,
/{usr/,}{s,}bin/dmsetup rPUx,
/{usr/,}{s,}bin/dumpe2fs rPx,
/{usr/,}{s,}bin/e2fsck rPx,
/{usr/,}{s,}bin/e2image rPx,
/{usr/,}{s,}bin/fsck.btrfs rPx,
/{usr/,}{s,}bin/fsck.fat rPx,
/{usr/,}{s,}bin/lvm rPUx,
/{usr/,}{s,}bin/mke2fs rPx,
/{usr/,}{s,}bin/mkntfs rPx,
/{usr/,}{s,}bin/mkswap rPx,
/{usr/,}{s,}bin/ntfslabel rPx,
/{usr/,}{s,}bin/ntfsresize rPx,
/{usr/,}{s,}bin/resize2fs rPx,
/{usr/,}{s,}bin/swaplabel rPx,
/{usr/,}{s,}bin/swapoff rPx,
/{usr/,}{s,}bin/swapon rPx,
/{usr/,}{s,}bin/tune2fs rPx,
/{usr/,}bin/btrfs rPx,
/{usr/,}bin/btrfstune rPx,
/{usr/,}bin/mdadm rPUx,
/{usr/,}bin/mkfs.* rPx,
/{usr/,}bin/mtools rPx,
/{usr/,}bin/ntfsinfo rPx,
/{usr/,}bin/xfs_io rPUx,
/{usr/,}bin/xdg-open rCx -> child-open,
/{usr/,}lib/@{multiarch}/glib-[0-9]*/gio-launch-desktop rCx -> child-open,
@{HOME}/.Xauthority r,
owner @{HOME}/*.htm w,
owner /tmp/gparted-*/ rw,
@{run}/mount/utab r,
@{PROC}/devices r,
@{PROC}/partitions r,
@{PROC}/swaps r,
@{PROC}/version r,
owner @{PROC}/@{pid}/fd/ r,
owner @{PROC}/@{pid}/mountinfo r,
owner @{PROC}/@{pid}/mounts r,
/dev/mapper/control rw,
profile mount {
include <abstractions/base>
capability sys_admin,
mount /dev/{s,v}d[a-z]*[0-9]* -> /tmp/gparted-*/,
mount /dev/{s,v}d[a-z]*[0-9]* -> /boot/,
mount /dev/{s,v}d[a-z]*[0-9]* -> @{MOUNTS}/,
mount /dev/{s,v}d[a-z]*[0-9]* -> @{MOUNTS}/*/,
/{usr/,}bin/mount mr,
@{sys}/devices/pci[0-9]*/**/block/{s,v}d[a-z]/ r,
@{sys}/devices/pci[0-9]*/**/block/{s,v}d[a-z]/dev r,
@{sys}/devices/pci[0-9]*/**/block/{s,v}d[a-z]/{s,v}d[a-z][0-9]*/ r,
@{sys}/devices/pci[0-9]*/**/block/{s,v}d[a-z]/{s,v}d[a-z][0-9]*/{start,size} r,
/dev/{s,v}d[a-z]* r,
/dev/{s,v}d[a-z]*[0-9]* r,
}
profile umount {
include <abstractions/base>
capability sys_admin,
umount /tmp/gparted-*/,
umount /boot/,
umount @{MOUNTS}/,
umount @{MOUNTS}/*/,
/{usr/,}bin/umount mr,
owner @{run}/mount/ rw,
owner @{run}/mount/utab{,.*} rw,
owner @{run}/mount/utab.lock wk,
owner @{PROC}/@{pid}/mountinfo r,
}
profile udevadm {
include <abstractions/base>
include <abstractions/disks-write>
ptrace (read),
/{usr/,}bin/udevadm mr,
/etc/udev/udev.conf r,
@{PROC}/1/environ r,
@{PROC}/1/sched r,
@{PROC}/cmdline r,
@{PROC}/sys/kernel/osrelease r,
@{PROC}/sys/kernel/random/boot_id r,
owner @{PROC}/@{pid}/cgroup r,
owner @{PROC}/@{pid}/stat r,
/dev/mapper/control rw,
}
include if exists <local/gpartedbin>
}