apparmor.d/apparmor.d/profiles-g-l/logrotate
2022-04-13 22:04:36 +01:00

93 lines
2.2 KiB
Text

# apparmor.d - Full set of apparmor profiles
# Copyright (C) 2019-2022 Mikhail Morfikov
# Copyright (C) 2021-2022 Alexandre Pujol <alexandre@pujol.io>
# SPDX-License-Identifier: GPL-2.0-only
abi <abi/3.0>,
include <tunables/global>
@{exec_path} = /{usr/,}{s,}bin/logrotate
profile logrotate @{exec_path} flags=(attach_disconnected, complain) {
include <abstractions/base>
include <abstractions/nameservice-strict>
capability chown,
capability dac_override,
capability dac_read_search,
capability fowner,
capability fsetid,
capability setgid,
capability setuid,
# Needed?
audit deny capability net_admin,
signal (send) set=(hup),
@{exec_path} mr,
/{usr/,}{s,}bin/ r,
/{usr/,}bin/{,ba,da}sh rix,
/{usr/,}bin/cat rix,
/{usr/,}bin/kill rix,
/{usr/,}bin/ls rix,
/{usr/,}bin/gzip rix,
/{usr/,}bin/zstd rix,
/{usr/,}{s,}bin/invoke-rc.d rix,
/{usr/,}lib/rsyslog/rsyslog-rotate rix,
/{usr/,}bin/fail2ban-client rPx,
# no new privs
#/{usr/,}bin/systemctl rCx -> systemctl,
/{usr/,}bin/systemctl rix,
/{usr/,}{s,}bin/runlevel rix,
include <abstractions/wutmp>
ptrace (read),
capability sys_ptrace,
owner @{PROC}/@{pid}/stat r,
@{PROC}/1/environ r,
@{PROC}/1/sched r,
@{PROC}/cmdline r,
@{PROC}/sys/kernel/osrelease r,
/etc/ r,
/etc/logrotate.conf rk,
/etc/logrotate.d/ r,
/etc/logrotate.d/* rk,
/var/lib/logrotate/status rwk,
/var/lib/logrotate/status.tmp rw,
/var/lib/logrotate.status rwk,
/var/lib/logrotate.status.tmp rw,
/var/log/** rw,
# Needed to remove the following error:
# logrotate[]: error: could not change directory to '.'
/ r,
@{sys}/firmware/efi/efivars/SecureBoot-@{uuid} r,
profile systemctl flags=(attach_disconnected, complain) {
include <abstractions/base>
include <abstractions/wutmp>
capability sys_ptrace,
ptrace (read),
/{usr/,}bin/systemctl mr,
owner @{PROC}/@{pid}/stat r,
@{PROC}/1/environ r,
@{PROC}/1/sched r,
@{PROC}/cmdline r,
@{PROC}/sys/kernel/osrelease r,
/dev/kmsg rw,
}
include if exists <local/logrotate>
}