mirror of
https://gitlab.com/apparmor/apparmor.git
synced 2025-03-04 16:35:02 +01:00

... and the apparmor.systemd wrapper. Also add a new 'install-systemd' target to the Makefile to install these systemd-related files on (open)SUSE by default. Other distributions can follow by adding a dependency on 'install-systemd' on their 'install-$DISTRO' target. Note that apparmor.service has ExecStop=/bin/true to avoid that running processes get unconfined if someone accidently types systemctl restart apparmor (instead of using "reload") Use aa-teardown if you really want to unload all profiles. The files in this commit are used in openSUSE since a while, and also in Arch Linux. BTW: The condition on var-lib.mount is because openSUSE uses /var/lib/apparmor/cache/ - but with the changed btrfs layout on openSUSE, maybe I'll change that to /var/cache/apparmor/ which is a) used by Debian and b) more sane
100 lines
1.7 KiB
Bash
100 lines
1.7 KiB
Bash
#!/bin/sh
|
|
# ----------------------------------------------------------------------
|
|
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
|
#
|
|
# 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 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.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, contact Novell, Inc.
|
|
# ----------------------------------------------------------------------
|
|
|
|
APPARMOR_FUNCTIONS=/lib/apparmor/rc.apparmor.functions
|
|
|
|
aa_action()
|
|
{
|
|
echo $1
|
|
shift
|
|
"$@"
|
|
return $?
|
|
}
|
|
|
|
aa_log_warning_msg()
|
|
{
|
|
echo "Warning: $@"
|
|
}
|
|
|
|
aa_log_failure_msg()
|
|
{
|
|
echo "Error: $@"
|
|
}
|
|
|
|
aa_log_action_start()
|
|
{
|
|
echo "$@"
|
|
}
|
|
|
|
aa_log_action_end()
|
|
{
|
|
echo -n
|
|
}
|
|
|
|
aa_log_daemon_msg()
|
|
{
|
|
echo "$@"
|
|
}
|
|
|
|
aa_log_skipped_msg()
|
|
{
|
|
echo "Skipped: $@"
|
|
}
|
|
|
|
aa_log_end_msg()
|
|
{
|
|
echo -n
|
|
}
|
|
|
|
# source apparmor function library
|
|
if [ -f "${APPARMOR_FUNCTIONS}" ]; then
|
|
. ${APPARMOR_FUNCTIONS}
|
|
else
|
|
aa_log_failure_msg "Unable to find AppArmor initscript functions"
|
|
exit 1
|
|
fi
|
|
|
|
case "$1" in
|
|
start)
|
|
apparmor_start
|
|
rc=$?
|
|
;;
|
|
stop)
|
|
apparmor_stop
|
|
rc=$?
|
|
;;
|
|
restart|reload|force-reload)
|
|
apparmor_restart
|
|
rc=$?
|
|
;;
|
|
try-restart)
|
|
apparmor_try_restart
|
|
rc=$?
|
|
;;
|
|
kill)
|
|
apparmor_kill
|
|
rc=$?
|
|
;;
|
|
status)
|
|
apparmor_status
|
|
rc=$?
|
|
;;
|
|
*)
|
|
exit 1
|
|
;;
|
|
esac
|
|
exit $rc
|