[apparmor] [PATCH v2 1/7] tests: Add changeprofile regression tests for stacking
Steve Beattie
steve at nxnw.org
Sat Mar 19 05:20:01 UTC 2016
On Fri, Mar 18, 2016 at 04:17:10PM -0500, Tyler Hicks wrote:
> The idea is that the $test profile grants $file access and the
> $othertest profile grants $subfile access. Both profiles grant
> $stacktest access. The tests verify that after changing to the stacked
> $othertest//&$test profile, only $stacktest can be accessed.
>
> Similar tests are also added for stacking with a namespaced profile.
>
> Signed-off-by: Tyler Hicks <tyhicks at canonical.com>
> ---
> tests/regression/apparmor/changeprofile.sh | 26 +++++++++++++++++++++++++-
> 1 file changed, 25 insertions(+), 1 deletion(-)
>
> diff --git a/tests/regression/apparmor/changeprofile.sh b/tests/regression/apparmor/changeprofile.sh
> index 1105730..66b078d 100755
> --- a/tests/regression/apparmor/changeprofile.sh
> +++ b/tests/regression/apparmor/changeprofile.sh
> @@ -21,6 +21,7 @@ bin=$pwd
>
> file=$tmpdir/file
> subfile=$tmpdir/file2
> +stackfile=$tmpdir/file3
> okperm=rw
>
> othertest="$pwd/rename"
> @@ -32,7 +33,7 @@ subtest3="$pwd//sub3"
> nstest=":ns:changeprofile"
>
>
> -touch $file $subfile
> +touch $file $subfile $stackfile
>
> # CHANGEPROFILE UNCONFINED
> runchecktest "CHANGEPROFILE (unconfined - nochange)" pass nochange $file
> @@ -85,3 +86,26 @@ $nstest { $subfile ${okperm}, }
> EOF
> runchecktest "CHANGEPROFILE_NS (access sub file)" pass $nstest $subfile
> runchecktest "CHANGEPROFILE_NS (access file)" fail $nstest $file
> +
> +if [ "$(kernel_features domain/stack)" != "true" ]; then
> + echo " WARNING: kernel does not support stacking, skipping tests ..."
> +else
> + genprofile $file:$okperm $stackfile:$okperm 'change_profile->':"&$othertest" -- image=$othertest $subfile:$okperm $stackfile:$okperm
> + runchecktest "CHANGEPROFILE_STACK (nochange access file)" pass nochange $file
> + runchecktest "CHANGEPROFILE_STACK (nochange access sub file)" fail nochange $subfile
> + runchecktest "CHANGEPROFILE_STACK (nochange access stack file)" pass nochange $stackfile
> + runchecktest "CHANGEPROFILE_STACK (access sub file)" fail "&$othertest" $subfile
> + runchecktest "CHANGEPROFILE_STACK (access file)" fail "&$othertest" $file
> + runchecktest "CHANGEPROFILE_STACK (access stack file)" pass "&$othertest" $stackfile
> +
> + genprofile --stdin <<EOF
> +$test { file, audit deny $subfile $okperm, $stackfile $okperm, change_profile -> &${nstest}, }
> +$nstest { $subfile $okperm, $stackfile $okperm, }
> +EOF
> + runchecktest "CHANGEPROFILE_NS_STACK (nochange access file)" pass nochange $file
> + runchecktest "CHANGEPROFILE_NS_STACK (nochange access sub file)" fail "&$nstest" $subfile
> + runchecktest "CHANGEPROFILE_NS_STACK (nochange access stack file)" pass "&$nstest" $stackfile
Shouldn't the two above have "nochange" instead of "&$nstest"?
With that change, Acked-by: Steve Beattie <steve at nxnw.org>. Thanks.
> + runchecktest "CHANGEPROFILE_NS_STACK (access sub file)" fail "&$nstest" $subfile
> + runchecktest "CHANGEPROFILE_NS_STACK (access file)" fail "&$nstest" $file
> + runchecktest "CHANGEPROFILE_NS_STACK (access stack file)" pass "&$nstest" $stackfile
> +fi
--
Steve Beattie
<sbeattie at ubuntu.com>
http://NxNW.org/~steve/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/apparmor/attachments/20160318/92781469/attachment.pgp>
More information about the AppArmor
mailing list