apparmor.d/apparmor.d/groups/children/child-dpkg
2025-03-13 19:15:22 +01:00

54 lines
1.5 KiB
Text

# apparmor.d - Full set of apparmor profiles
# Copyright (C) 2019-2021 Mikhail Morfikov
# Copyright (C) 2021-2024 Alexandre Pujol <alexandre@pujol.io>
# SPDX-License-Identifier: GPL-2.0-only
# Note: This profile does not specify an attachment path because it is
# intended to be used only via "Px -> child-dpkg" exec transitions from
# other profiles. We want to confine the dpkg(1) utility when it
# is invoked from other confined applications, but not when it is used
# in regular (unconfined) shell scripts or run directly by the user.
abi <abi/4.0>,
include <tunables/global>
@{exec_path} = @{bin}/dpkg
profile child-dpkg flags=(attach_disconnected) {
include <abstractions/base>
include <abstractions/consoles>
include <abstractions/nameservice-strict>
capability dac_read_search,
capability setgid,
@{exec_path} mr,
# Do not strip env to avoid errors like the following:
# ERROR: ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (cannot open
# shared object file): ignored.
@{bin}/dpkg-query rpx,
@{bin}/dpkg-deb rPx,
@{bin}/dpkg-split rPx,
/etc/dpkg/dpkg.cfg.d/{,*} r,
/etc/dpkg/dpkg.cfg r,
/usr/share/doc/perl-modules-*/{,**/}*.dpkg-{new,tmp} rwl,
/usr/share/perl/*/{,**/}*.dpkg-{new,tmp} rwl,
/var/lib/dpkg/** r,
/var/lib/dpkg/lock rw,
/var/lib/dpkg/tmp.ci/control rw,
/var/lib/dpkg/tmp.ci/md5sums rw,
/var/lib/dpkg/triggers/Lock rw,
/var/lib/dpkg/updates/* rw,
/var/log/dpkg.log rw,
# file_inherit
/tmp/#@{int} rw,
include if exists <local/child-dpkg>
}
# vim:syntax=apparmor