2013-08-21 11:26:09 +05:30
|
|
|
#!/usr/bin/python
|
2013-09-28 20:43:06 +05:30
|
|
|
# ----------------------------------------------------------------------
|
|
|
|
# Copyright (C) 2013 Kshitij Gupta <kgupta8592@gmail.com>
|
|
|
|
#
|
|
|
|
# This program is free software; you can redistribute it and/or
|
|
|
|
# modify it under the terms of version 2 of the GNU General Public
|
|
|
|
# License as published by the Free Software Foundation.
|
|
|
|
#
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
#
|
|
|
|
# ----------------------------------------------------------------------
|
2013-08-21 11:26:09 +05:30
|
|
|
import argparse
|
|
|
|
|
2013-10-22 03:06:23 +05:30
|
|
|
from apparmor.common import init_translations
|
|
|
|
init_translations()
|
|
|
|
|
2013-08-31 04:13:05 +05:30
|
|
|
import apparmor.tools
|
2013-08-21 11:26:09 +05:30
|
|
|
|
2013-09-22 15:25:20 +05:30
|
|
|
parser = argparse.ArgumentParser(description=_('Switch the given programs to audit mode'))
|
|
|
|
parser.add_argument('-d', '--dir', type=str, help=_('path to profiles'))
|
|
|
|
parser.add_argument('-r', '--remove', action='store_true', help=_('remove audit mode'))
|
|
|
|
parser.add_argument('program', type=str, nargs='+', help=_('name of program'))
|
2014-02-01 06:32:20 +05:30
|
|
|
parser.add_argument('--trace', action='store_true', help=_('Show full trace'))
|
2013-08-21 11:26:09 +05:30
|
|
|
args = parser.parse_args()
|
|
|
|
|
2014-02-01 06:14:05 +05:30
|
|
|
try:
|
|
|
|
audit = apparmor.tools.aa_tools('audit', args)
|
2013-08-21 11:26:09 +05:30
|
|
|
|
2014-02-01 06:14:05 +05:30
|
|
|
audit.act()
|
|
|
|
except Exception as e:
|
2014-02-01 06:32:20 +05:30
|
|
|
if not args.trace:
|
|
|
|
print(e.value)
|
|
|
|
else:
|
|
|
|
raise e
|