#! /bin/bash # 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 rename #=DESCRIPTION # The rename system call changes the name of a file in the filesystem. # The test verifies that this operation (which involves AppArmor write # permission checks) functions correctly for a confined process. #=END pwd=`dirname $0` pwd=`cd $pwd ; /bin/pwd` bin=$pwd . $bin/prologue.inc file1=$tmpdir/file1 file2=$tmpdir/file2 dir1=$tmpdir/dir1/ dir2=$tmpdir/dir2/ okfile1perm=rw badfile1perm1=r badfile1perm2=w okfile2perm=w badfile2perm=r reset_test() { touch $file1 chmod 600 $file1 test -d $dir1 || mkdir $dir1 chmod 700 $dir1 } # PASS TEST reset_test genprofile $file1:$okfile1perm $file2:$okfile2perm $dir1:$okfile1perm $dir2:$okfile2perm runchecktest "RENAME RW W" pass $file1 $file2 runchecktest "RENAME RW W (dir)" pass $dir1 $dir2 # FAILURE TEST (1) - Bad permissions on target reset_test genprofile $file1:$okfile1perm $file2:$badfile2perm $dir1:$okfile1perm $dir2:$badfile2perm runchecktest "RENAME RW R" fail $file1 $file2 runchecktest "RENAME RW R (dir)" fail $dir1 $dir2 # FAILURE TEST (2) - no permissions on target reset_test genprofile $file1:$okfile1perm $dir1:$okfile1perm runchecktest "RENAME RW -" fail $file1 $file2 runchecktest "RENAME RW - (dir)" fail $dir1 $dir2 # FAILURE TEST (3) - Bad permissions on source reset_test genprofile $file1:$badfile1perm1 $file2:$okfile2perm $dir1:$badfile1perm1 $dir2:$okfile2perm runchecktest "RENAME R W" fail $file1 $file2 runchecktest "RENAME R W (dir)" fail $dir1 $dir2 # FAILURE TEST (4) - Bad permissions on source reset_test genprofile $file1:$badfile1perm2 $file2:$okfile2perm $dir1:$badfile1perm2 $dir2:$okfile2perm runchecktest "RENAME W W" fail $file1 $file2 runchecktest "RENAME W W (dir)" fail $dir1 $dir2 # FAILURE TEST (5) - No permissions on source reset_test genprofile $file2:$okfile2perm $dir2:$okfile2perm runchecktest "RENAME - W" fail $file1 $file2 runchecktest "RENAME - W (dir)" fail $dir1 $dir2