Add the aa-log helper.

This commit is contained in:
Alexandre Pujol 2021-04-02 10:43:03 +01:00
parent 2107e94b5c
commit effc5eb9aa
No known key found for this signature in database
GPG Key ID: C5469996F0DF68EC
2 changed files with 43 additions and 0 deletions

25
root/usr/bin/aa-log Executable file
View File

@ -0,0 +1,25 @@
#!/usr/bin/env bash
# Review AppArmor generated messages
# Copyright (C) 2021 Alexandre Pujol <alexandre@pujol.io>
# SPDX-License-Identifier: GPL-2.0-only
#
readonly LOGFILE=/var/log/audit/audit.log
# Parses AppArmor logs to hide unnecessary information and remove duplicates.
_apparmor_log() {
local state="$1" profile="${2}"
grep -a "$state" "$LOGFILE" \
| grep "profile=\"$profile.*\"" \
| grep -v laddr \
| sed -e 's/AVC //' \
-e "s/apparmor=\"$state\"/$state/" \
-e 's/type=msg=audit(.*): //' \
-e 's/pid=.* comm/comm/' \
-e 's/ fsuid.*//' \
| awk '!x[$0]++'
}
_apparmor_log DENIED "$@"
_apparmor_log ALLOWED "$@"

View File

@ -0,0 +1,18 @@
#compdef aa-log
#autoload
_aa-log () {
local IFS=$'\n'
_values -C 'profile names' ${$(__aa_profiles):-""}
}
__aa_profiles() {
find -L /etc/apparmor.d -type f \
| sed -e 's#/etc/apparmor.d/##' \
-e '/abi/d' \
-e '/abstractions/d' \
-e '/local/d' \
| sort
}
_aa-log