#!/bin/sh # ---------------------------------------------------------------------- # Copyright (c) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 # NOVELL (All rights reserved) # Copyright (c) 2008, 2009 Canonical, Ltd. # # 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. # ---------------------------------------------------------------------- # Authors: # Steve Beattie <steve.beattie@canonical.com> # Kees Cook <kees@ubuntu.com> # # /etc/init.d/apparmor # ### BEGIN INIT INFO # Provides: apparmor # Required-Start: $local_fs # Required-Stop: umountfs # Default-Start: S # Default-Stop: # Short-Description: AppArmor initialization # Description: AppArmor init script. This script loads all AppArmor profiles. ### END INIT INFO . /lib/apparmor/functions . /lib/lsb/init-functions usage() { echo "Usage: $0 {start|stop|restart|reload|force-reload|status|recache}" } test -x ${PARSER} || exit 0 # by debian policy # LSM is built-in, so it is either there or not enabled for this boot test -d /sys/module/apparmor || exit 0 securityfs() { # Need securityfs for any mode if [ ! -d "${AA_SFS}" ]; then if cut -d" " -f2,3 /proc/mounts | grep -q "^${SECURITYFS} securityfs"'$' ; then log_action_msg "AppArmor not available as kernel LSM." log_end_msg 1 exit 1 else log_action_begin_msg "Mounting securityfs on ${SECURITYFS}" if ! mount -t securityfs none "${SECURITYFS}"; then log_action_end_msg 1 log_end_msg 1 exit 1 fi fi fi if [ ! -w "$AA_SFS"/.load ]; then log_action_msg "Insufficient privileges to change profiles." log_end_msg 1 exit 1 fi } # Allow "recache" even when running on the liveCD if [ "$1" = "recache" ]; then log_daemon_msg "Recaching AppArmor profiles" recache_profiles rc=$? log_end_msg "$rc" exit $rc fi # do not perform start/stop/reload actions when running from liveCD test -d /rofs/etc/apparmor.d && exit 0 rc=255 case "$1" in start) if [ -x /usr/bin/systemd-detect-virt ] && \ systemd-detect-virt --quiet --container && \ ! is_container_with_internal_policy; then log_daemon_msg "Not starting AppArmor in container" log_end_msg 0 exit 0 fi log_daemon_msg "Starting AppArmor profiles" securityfs load_configured_profiles rc=$? log_end_msg "$rc" ;; stop) log_daemon_msg "Clearing AppArmor profiles cache" clear_cache rc=$? log_end_msg "$rc" cat >&2 <<EOM All profile caches have been cleared, but no profiles have been unloaded. Unloading profiles will leave already running processes permanently unconfined, which can lead to unexpected situations. To set a process to complain mode, use the command line tool 'aa-complain'. To really tear down all profiles, run the init script with the 'teardown' option." EOM ;; teardown) if [ -x /usr/bin/systemd-detect-virt ] && \ systemd-detect-virt --quiet --container && \ ! is_container_with_internal_policy; then log_daemon_msg "Not tearing down AppArmor in container" log_end_msg 0 exit 0 fi log_daemon_msg "Unloading AppArmor profiles" securityfs running_profile_names | while read profile; do if ! unload_profile "$profile" ; then log_end_msg 1 exit 1 fi done rc=0 log_end_msg $rc ;; restart|reload|force-reload) if [ -x /usr/bin/systemd-detect-virt ] && \ systemd-detect-virt --quiet --container && \ ! is_container_with_internal_policy; then log_daemon_msg "Not reloading AppArmor in container" log_end_msg 0 exit 0 fi log_daemon_msg "Reloading AppArmor profiles" securityfs clear_cache load_configured_profiles rc=$? log_end_msg "$rc" ;; status) securityfs if [ -x /usr/sbin/aa-status ]; then aa-status --verbose else cat "$AA_SFS"/profiles fi rc=$? ;; *) usage rc=1 ;; esac exit $rc
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
acpid | File | 2.22 KB | 0755 |
|
apache-htcacheclean | File | 2.43 KB | 0755 |
|
apache2 | File | 7.99 KB | 0755 |
|
apparmor | File | 4.23 KB | 0755 |
|
apport | File | 2.85 KB | 0755 |
|
atd | File | 1.05 KB | 0755 |
|
cgroupfs-mount | File | 1.86 KB | 0755 |
|
console-setup.sh | File | 1.2 KB | 0755 |
|
cron | File | 2.98 KB | 0755 |
|
cryptdisks | File | 937 B | 0755 |
|
cryptdisks-early | File | 978 B | 0755 |
|
danted | File | 3.72 KB | 0755 |
|
dbus | File | 2.75 KB | 0755 |
|
docker | File | 3.42 KB | 0755 |
|
ebtables | File | 4.38 KB | 0755 |
|
grub-common | File | 985 B | 0755 |
|
hddtemp | File | 2.99 KB | 0755 |
|
hwclock.sh | File | 3.72 KB | 0755 |
|
irqbalance | File | 2.39 KB | 0755 |
|
iscsid | File | 1.47 KB | 0755 |
|
keyboard-setup.sh | File | 1.44 KB | 0755 |
|
kmod | File | 2 KB | 0755 |
|
lm-sensors | File | 883 B | 0755 |
|
lvm2 | File | 695 B | 0755 |
|
lvm2-lvmetad | File | 571 B | 0755 |
|
lvm2-lvmpolld | File | 586 B | 0755 |
|
lxcfs | File | 2.32 KB | 0755 |
|
lxd | File | 2.19 KB | 0755 |
|
mdadm | File | 2.59 KB | 0755 |
|
mdadm-waitidle | File | 1.22 KB | 0755 |
|
mysql | File | 5.48 KB | 0755 |
|
netfilter-persistent | File | 1.33 KB | 0755 |
|
network-manager | File | 1.9 KB | 0755 |
|
open-iscsi | File | 2.44 KB | 0755 |
|
open-vm-tools | File | 1.8 KB | 0755 |
|
openvpn | File | 8.92 KB | 0755 |
|
plymouth | File | 1.33 KB | 0755 |
|
plymouth-log | File | 752 B | 0755 |
|
pppd-dns | File | 612 B | 0755 |
|
procps | File | 1.16 KB | 0755 |
|
rsync | File | 4.25 KB | 0755 |
|
rsyslog | File | 2.8 KB | 0755 |
|
screen-cleanup | File | 1.19 KB | 0755 |
|
ssh | File | 3.75 KB | 0755 |
|
tor | File | 5.92 KB | 0755 |
|
ubuntu-fan | File | 1.2 KB | 0755 |
|
udev | File | 5.83 KB | 0755 |
|
ufw | File | 2.03 KB | 0755 |
|
unattended-upgrades | File | 1.36 KB | 0755 |
|
uuidd | File | 1.28 KB | 0755 |
|
x11-common | File | 2.69 KB | 0755 |
|