# apparmor.d - Full set of apparmor profiles # Copyright (C) 2019-2021 Mikhail Morfikov # Copyright (C) 2021-2024 Alexandre Pujol # SPDX-License-Identifier: GPL-2.0-only abi , include @{exec_path} = @{bin}/apt-cdrom profile apt-cdrom @{exec_path} flags=(complain) { include include include capability dac_read_search, @{exec_path} mr, @{bin}/dpkg rPx -> child-dpkg, @{bin}/mount rCx -> mount, @{bin}/umount rCx -> umount, /etc/fstab r, /etc/apt/sources.list{,.new} rw, /etc/apt/sources.list~ w, /var/lib/apt/lists/** rw, /var/lib/apt/cdroms.list{,.new} rw, /var/lib/apt/cdroms.list~ w, # For cd-roms /media/cdrom@{int}/ r, /media/cdrom@{int}/**/ r, /media/cdrom@{int}/.disk/info r, /media/cdrom@{int}/dists/**/binary-*/Packages{,.gz} r, /media/cdrom@{int}/dists/**/i18n/Translation-en{,.gz} r, # For pendrives @{MOUNTS}/ r, @{MOUNTS}/**/ r, @{MOUNTS}/.disk/info r, @{MOUNTS}/dists/**/binary-*/Packages{,.gz} r, @{MOUNTS}/dists/**/i18n/Translation-en{,.gz} r, # Are all of these needed? (#FIXME#) @{sys}/bus/ r, @{sys}/bus/*/devices/ r, @{sys}/class/ r, @{sys}/class/*/ r, @{sys}/devices/**/uevent r, owner @{PROC}/@{pid}/fd/ r, profile mount flags=(complain) { include @{bin}/mount mr, /etc/fstab r, /media/cdrom@{int}/ r, include if exists } profile umount flags=(complain) { include capability sys_admin, @{bin}/umount mr, @{run}/mount/utab{,.*} rw, @{run}/mount/utab.lock rwk, owner @{PROC}/@{pid}/mountinfo r, umount /media/*/, umount /media/*/*/, include if exists } include if exists } # vim:syntax=apparmor