[apparmor] [patch 5/8] testsuite - add flag to suppress automatic binary rix permissions
John Johansen
john.johansen at canonical.com
Thu Jan 12 10:51:30 UTC 2012
On 01/12/2012 10:08 AM, Steve Beattie wrote:
> This patch adds a flag to mkprofile.pl to not automatically add
> 'rix' permissions on executable images (but still auto-generate
> ldd dependencies), for use when specifying alternate permissions
> on executables.
>
> Where appropriate, it also converts a few testcases to make use of
> the option.
>
Acked-by: John Johansen <john.johansen at canonical.com>
> ---
> tests/regression/apparmor/coredump.sh | 4 ++--
> tests/regression/apparmor/exec.sh | 4 ++--
> tests/regression/apparmor/mkprofile.pl | 4 +++-
> tests/regression/apparmor/prologue.inc | 8 ++++++++
> 4 files changed, 15 insertions(+), 5 deletions(-)
>
> Index: b/tests/regression/apparmor/mkprofile.pl
> ===================================================================
> --- a/tests/regression/apparmor/mkprofile.pl
> +++ b/tests/regression/apparmor/mkprofile.pl
> @@ -14,6 +14,7 @@ use Cwd 'realpath';
> my $help = '';
> my $nowarn = '';
> my $nodefault;
> +my $noimage;
> my $escape = '';
> my %output_rules;
> my $hat = "__no_hat";
> @@ -24,6 +25,7 @@ GetOptions(
> 'nowarn' => \$nowarn,
> 'help|h' => \$help,
> 'nodefault|N' => \$nodefault,
> + 'noimage|I' => \$noimage,
> );
>
> sub usage {
> @@ -121,7 +123,7 @@ sub gen_elf_binary($) {
> sub gen_binary($) {
> my $bin = shift;
>
> - gen_file("$bin:rix");
> + gen_file("$bin:rix") unless $noimage;
>
> my $hashbang = head($bin);
> if ($hashbang && $hashbang =~ /^#!\s*(\S+)/) {
> Index: b/tests/regression/apparmor/exec.sh
> ===================================================================
> --- a/tests/regression/apparmor/exec.sh
> +++ b/tests/regression/apparmor/exec.sh
> @@ -61,10 +61,10 @@ runchecktest "EXEC mmap x" fail $file
>
> # UNCONFINED -> CONFINED
>
> -genprofile image=$file
> +genprofile image=$file
> runchecktest "EXEC unconfined -> confined" pass $file
>
> # UNCONFINED -> CONFINED no access to self binary
>
> -genprofile -N image=$file "/lib{64,}/ld*.so*:rix" "/lib{64,}/lib*.so*:rm"
> +genprofile -I image=$file
> runchecktest "EXEC unconfined -> confined/no access to self" pass $file
> Index: b/tests/regression/apparmor/prologue.inc
> ===================================================================
> --- a/tests/regression/apparmor/prologue.inc
> +++ b/tests/regression/apparmor/prologue.inc
> @@ -253,6 +253,11 @@ emit_profile()
> mkflags="${mkflags} -N"
> fi
>
> + if [ "$noimage" -eq 1 ]
> + then
> + mkflags="${mkflags} -I"
> + fi
> +
> name=$1; perm=$2; shift 2
>
> $bin/mkprofile.pl ${mkflags} "$name" ${outfile}:w "$@" >> $profile
> @@ -274,6 +279,7 @@ fi
> complainflag=""
> escapeflag=""
> nodefaults=0
> + noimage=0
> while /bin/true
> do
> case "$1" in
> @@ -283,6 +289,8 @@ fi
> ;;
> "-N") nodefaults=1
> ;;
> + "-I") noimage=1
> + ;;
> *) break
> ;;
> esac
> Index: b/tests/regression/apparmor/coredump.sh
> ===================================================================
> --- a/tests/regression/apparmor/coredump.sh
> +++ b/tests/regression/apparmor/coredump.sh
> @@ -81,7 +81,7 @@ checkcorefile yes "COREDUMP (no confinem
>
> # PASS TEST, with r confinement
> cleancorefile
> -genprofile image=$test:$coreperm
> +genprofile -I $test:$coreperm
>
> echo
> echo "*** A 'Segmentation Fault' message from bash is expected for the following test"
> @@ -90,7 +90,7 @@ checkcorefile yes "COREDUMP ($coreperm c
>
> # FAIL TEST, with x confinement
> cleancorefile
> -genprofile image=$test:$nocoreperm
> +genprofile -I $test:$nocoreperm
>
> echo
> echo "*** A 'Segmentation Fault' message from bash is expected for the following test"
>
>
> -- AppArmor mailing list AppArmor at lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/apparmor
>
More information about the AppArmor
mailing list