mirror of
https://gitlab.com/apparmor/apparmor.git
synced 2025-03-07 01:41:00 +01:00
66 lines
1.7 KiB
Bash
Executable file
66 lines
1.7 KiB
Bash
Executable file
#! /bin/bash
|
|
# $Id: changehat_fork.sh 6040 2006-01-11 00:15:48Z tonyj $
|
|
|
|
# Copyright (C) 2002-2005 Novell/SUSE
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License as
|
|
# published by the Free Software Foundation, version 2 of the
|
|
# License.
|
|
|
|
#=NAME changehat_fork
|
|
#=DESCRIPTION
|
|
# As 'changehat' but access checks for hats are verified across a fork
|
|
#=END
|
|
|
|
pwd=`dirname $0`
|
|
pwd=`cd $pwd ; /bin/pwd`
|
|
|
|
bin=$pwd
|
|
|
|
. $bin/prologue.inc
|
|
|
|
file=$tmpdir/file
|
|
subfile=$tmpdir/file2
|
|
okperm=rw
|
|
|
|
touch $file $subfile
|
|
|
|
# NO CHANGEHAT TEST
|
|
|
|
genprofile $file:$okperm
|
|
|
|
runchecktest "NO CHANGEHAT (access parent file)" pass nochange $file
|
|
runchecktest "NO CHANGEHAT (access sub file)" fail nochange $subfile
|
|
|
|
# CHANGEHAT TEST
|
|
|
|
subtest=sub
|
|
|
|
genprofile $file:$okperm hat:$subtest $subfile:$okperm
|
|
|
|
runchecktest "CHANGEHAT (access parent file)" fail $subtest $file
|
|
runchecktest "CHANGEHAT (access sub file)" pass $subtest $subfile
|
|
|
|
# CHANGEHAT TEST -- multiple subprofiles
|
|
|
|
subtest2=sub2
|
|
subtest3=sub3
|
|
|
|
genprofile $file:$okperm hat:$subtest $subfile:$okperm hat:$subtest2 $subfile:$okperm hat:$subtest3 $subfile:$okperm
|
|
|
|
runchecktest "CHANGEHAT (access parent file)" fail $subtest $file
|
|
runchecktest "CHANGEHAT (access sub file)" pass $subtest $subfile
|
|
runchecktest "CHANGEHAT (access sub file)" pass $subtest2 $subfile
|
|
runchecktest "CHANGEHAT (access sub file)" pass $subtest3 $subfile
|
|
|
|
# CHANGEHAT TEST -- non-existent subprofile access
|
|
# Should put us into a null-profile
|
|
|
|
subtest2=$test.sub2
|
|
subtest3=$test.sub3
|
|
|
|
genprofile $file:$okperm hat:$subtest $subfile:$okperm hat:$subtest2 $subfile:$okperm
|
|
|
|
runchecktest "CHANGEHAT (access parent file)" fail $subtest3 $file
|
|
runchecktest "CHANGEHAT (access sub file)" fail $subtest3 $subfile
|