/etc/apparmor.d
NameSizeModeActions
abi/-0755rm
abstractions/-0755rm
disable/-0755rm
force-complain/-0755rm
local/-0755rm
rsyslog.d/-0755rm
tunables/-0755rm
1password3540644editdlrm
balena-etcher3740644editdlrm
brave3480644editdlrm
buildah3420644editdlrm
busybox3420644editdlrm
cam3300644editdlrm
ch-checkns3510644editdlrm
ch-run3390644editdlrm
chrome3490644editdlrm
code3490644editdlrm
crun3330644editdlrm
devhelp3420644editdlrm
Discord3520644editdlrm
element-desktop3680644editdlrm
epiphany3560644editdlrm
evolution3480644editdlrm
firefox4100644editdlrm
flatpak3420644editdlrm
foliate3420644editdlrm
geary3360644editdlrm
github-desktop3780644editdlrm
goldendict3530644editdlrm
ipa_verify3510644editdlrm
kchmviewer3530644editdlrm
keybase3460644editdlrm
lc-compliance3600644editdlrm
libcamerify3540644editdlrm
linux-sandbox3830644editdlrm
loupe3360644editdlrm
lsb_release13790644editdlrm
lxc-attach3510644editdlrm
lxc-create3510644editdlrm
lxc-destroy3540644editdlrm
lxc-execute3540644editdlrm
lxc-stop3450644editdlrm
lxc-unshare3540644editdlrm
lxc-usernsexec3630644editdlrm
mmdebstrap3510644editdlrm
MongoDB_Compass3860644editdlrm
msedge3520644editdlrm
nautilus3460644editdlrm
notepadqq4020644editdlrm
nvidia_modprobe12130644editdlrm
obsidian3500644editdlrm
opam3330644editdlrm
opera3550644editdlrm
pageedit3470644editdlrm
plasmashell6800644editdlrm
podman3390644editdlrm
polypane3500644editdlrm
privacybrowser3650644editdlrm
qcam3330644editdlrm
qmapshack3480644editdlrm
QtWebEngineProcess4040644editdlrm
qutebrowser3540644editdlrm
rootlesskit3540644editdlrm
rpm3300644editdlrm
rssguard3470644editdlrm
runc3340644editdlrm
sbuild3390644editdlrm
sbuild-abort3570644editdlrm
sbuild-adduser3640644editdlrm
sbuild-apt3510644editdlrm
sbuild-checkpackages3810644editdlrm
sbuild-clean3570644editdlrm
sbuild-createchroot3780644editdlrm
sbuild-destroychroot3820644editdlrm
sbuild-distupgrade3750644editdlrm
sbuild-hold3540644editdlrm
sbuild-shell3650644editdlrm
sbuild-unhold3600644editdlrm
sbuild-update3600644editdlrm
sbuild-upgrade3630644editdlrm
scide3550644editdlrm
signal-desktop3660644editdlrm
slack3420644editdlrm
slirp4netns3540644editdlrm
steam3630644editdlrm
stress-ng3480644editdlrm
surfshark3540644editdlrm
systemd-coredump3770644editdlrm
thunderbird3540644editdlrm
toybox3350644editdlrm
transmission24000644editdlrm
trinity3420644editdlrm
tup3300644editdlrm
tuxedo-control-center4000644editdlrm
ubuntu_pro_apt_news20640644editdlrm
ubuntu_pro_esm_cache72170644editdlrm
unix-chkpwd8810644editdlrm
unprivileged_userns6990644editdlrm
userbindmount3600644editdlrm
usr.bin.man34480644editdlrm
usr.bin.tcpdump16870644editdlrm
usr.lib.snapd.snap-confine.real317010644editdlrm
usr.sbin.chronyd28380644editdlrm
usr.sbin.mysqld20060644editdlrm
usr.sbin.rsyslogd18720644editdlrm
uwsgi-core3510644editdlrm
vdens3360644editdlrm
virtiofsd3520644editdlrm
vivaldi-bin3580644editdlrm
vpnns3360644editdlrm
wike3330644editdlrm
wpcom3460644editdlrm
Edit: /etc/apparmor.d/usr.bin.man (3448B)
# vim:syntax=apparmor #include /usr/bin/man { #include # Use a special profile when man calls anything groff-related. We only # include the programs that actually parse input data in a non-trivial # way, not wrappers such as groff and nroff, since the latter would need a # broader profile. /usr/bin/eqn rmCx -> &man_groff, /usr/bin/grap rmCx -> &man_groff, /usr/bin/pic rmCx -> &man_groff, /usr/bin/preconv rmCx -> &man_groff, /usr/bin/refer rmCx -> &man_groff, /usr/bin/tbl rmCx -> &man_groff, /usr/bin/troff rmCx -> &man_groff, /usr/bin/vgrind rmCx -> &man_groff, # Similarly, use a special profile when man calls decompressors and other # simple filters. /{,usr/}bin/bzip2 rmCx -> &man_filter, /{,usr/}bin/gzip rmCx -> &man_filter, /usr/bin/col rmCx -> &man_filter, /usr/bin/compress rmCx -> &man_filter, /usr/bin/iconv rmCx -> &man_filter, /usr/bin/lzip.lzip rmCx -> &man_filter, /usr/bin/tr rmCx -> &man_filter, /usr/bin/xz rmCx -> &man_filter, # Allow basically anything in terms of file system access, subject to DAC. # The purpose of this profile isn't to confine man itself (that might be # nice in the future, but is tricky since it's quite configurable), but to # confine the processes it calls that parse untrusted data. /** mrixwlk, unix, capability setuid, capability setgid, # Ordinary permission checks sometimes involve checking whether the # process has this capability, which can produce audit log messages. # Silence them. deny capability dac_override, deny capability dac_read_search, signal peer=@{profile_name}, signal peer=/usr/bin/man//&man_groff, signal peer=/usr/bin/man//&man_filter, # Site-specific additions and overrides. See local/README for details. #include } profile man_groff { #include # Recent kernels revalidate open FDs, and there are often some still # open on TTYs. This is temporary until man learns to close irrelevant # open FDs before execve. #include # man always runs its groff pipeline with the input file open on stdin, # so we can skip . /usr/bin/eqn rm, /usr/bin/grap rm, /usr/bin/pic rm, /usr/bin/preconv rm, /usr/bin/refer rm, /usr/bin/tbl rm, /usr/bin/troff rm, /usr/bin/vgrind rm, /etc/groff/** r, /etc/papersize r, /usr/lib/groff/site-tmac/** r, /usr/share/groff/** r, /tmp/groff* rw, signal peer=/usr/bin/man, # @{profile_name} doesn't seem to work here. signal peer=/usr/bin/man//&man_groff, } profile man_filter { #include # Recent kernels revalidate open FDs, and there are often some still # open on TTYs. This is temporary until man learns to close irrelevant # open FDs before execve. #include /{,usr/}bin/bzip2 rm, /{,usr/}bin/gzip rm, /usr/bin/col rm, /usr/bin/compress rm, /usr/bin/iconv rm, /usr/bin/lzip.lzip rm, /usr/bin/tr rm, /usr/bin/xz rm, # Manual pages can be more or less anywhere, especially with "man -l", and # there's no harm in allowing wide read access here since the worst it can # do is feed data to the invoking man process. /** r, # Allow writing cat pages. /var/cache/man/** w, signal peer=/usr/bin/man, # @{profile_name} doesn't seem to work here. signal peer=/usr/bin/man//&man_filter, }