audit: implement audit by executable
authorRichard Guy Briggs <rgb@redhat.com>
Wed, 5 Aug 2015 20:29:37 +0000 (16:29 -0400)
committerPaul Moore <pmoore@redhat.com>
Thu, 6 Aug 2015 20:17:25 +0000 (16:17 -0400)
commit34d99af52ad40bd498ba66970579a5bc1fb1a3bc
treefcab34928eb893eff68506685675420f0afba08e
parent7f49294282c49ef426ed05eb4959728524ba140c
audit: implement audit by executable

This adds the ability audit the actions of a not-yet-running process.

This patch implements the ability to filter on the executable path.  Instead of
just hard coding the ino and dev of the executable we care about at the moment
the rule is inserted into the kernel, use the new audit_fsnotify
infrastructure to manage this dynamically.  This means that if the filename
does not yet exist but the containing directory does, or if the inode in
question is unlinked and creat'd (aka updated) the rule will just continue to
work.  If the containing directory is moved or deleted or the filesystem is
unmounted, the rule is deleted automatically.  A future enhancement would be to
have the rule survive across directory disruptions.

This is a heavily modified version of a patch originally submitted by Eric
Paris with some ideas from Peter Moody.

Cc: Peter Moody <peter@hda3.com>
Cc: Eric Paris <eparis@redhat.com>
Signed-off-by: Richard Guy Briggs <rgb@redhat.com>
[PM: minor whitespace clean to satisfy ./scripts/checkpatch]
Signed-off-by: Paul Moore <pmoore@redhat.com>
include/linux/audit.h
include/uapi/linux/audit.h
kernel/audit.h
kernel/audit_tree.c
kernel/audit_watch.c
kernel/auditfilter.c
kernel/auditsc.c