~ubuntu-branches/ubuntu/wily/apparmor/wily

« back to all changes in this revision

Viewing changes to tests/regression/apparmor/changeprofile.sh

  • Committer: Bazaar Package Importer
  • Author(s): Kees Cook
  • Date: 2011-04-27 10:38:07 UTC
  • mfrom: (5.1.118 natty)
  • Revision ID: james.westby@ubuntu.com-20110427103807-ym3rhwys6o84ith0
Tags: 2.6.1-2
debian/copyright: clarify for some full organization names.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#! /bin/bash
 
2
#       Copyright (C) 2002-2005 Novell/SUSE
 
3
#
 
4
#       This program is free software; you can redistribute it and/or
 
5
#       modify it under the terms of the GNU General Public License as
 
6
#       published by the Free Software Foundation, version 2 of the
 
7
#       License.
 
8
 
 
9
#=NAME changeprofile
 
10
#=DESCRIPTION 
 
11
# Verifies basic file access permission checks for a parent profile and one 
 
12
# subprofile/hat
 
13
#=END
 
14
 
 
15
pwd=`dirname $0`
 
16
pwd=`cd $pwd ; /bin/pwd`
 
17
 
 
18
bin=$pwd
 
19
 
 
20
. $bin/prologue.inc
 
21
 
 
22
file=$tmpdir/file
 
23
subfile=$tmpdir/file2
 
24
okperm=rw
 
25
 
 
26
othertest="$pwd/rename"
 
27
subtest="sub"
 
28
fqsubbase="$pwd/changeprofile"
 
29
fqsubtest="$fqsubbase//$subtest"
 
30
subtest2="$pwd//sub2"
 
31
subtest3="$pwd//sub3"
 
32
 
 
33
 
 
34
touch $file $subfile
 
35
 
 
36
# CHANGEPROFILE UNCONFINED
 
37
runchecktest "CHANGEPROFILE (unconfined - nochange)" pass nochange $file
 
38
runchecktest_errno ENOENT "CHANGEPROFILE (unconfined - noent)" fail $othertest $file
 
39
genprofile image=$othertest $file:$okperm
 
40
runchecktest "CHANGEPROFILE (unconfined)" pass $othertest $file
 
41
 
 
42
# NO CHANGEPROFILE TEST file access of base profile okay
 
43
genprofile $file:$okperm
 
44
runchecktest "NO CHANGEPROFILE (access parent file)" pass nochange $file
 
45
runchecktest "NO CHANGEPROFILE (access sub file)" fail nochange $subfile
 
46
 
 
47
# CHANGEPROFILE NO Target TEST - NO PERMISSION
 
48
runchecktest "CHANGEPROFILE (no target, nochange)" pass nochange $file
 
49
runchecktest_errno EACCES "CHANGEPROFILE (no target, $file)" fail $othertest $file
 
50
runchecktest_errno EACCES "CHANGEPROFILE (no target, $subfile)" fail $othertest $subfile
 
51
 
 
52
# CHANGEPROFILE NO Target TEST - PERMISSION
 
53
genprofile $file:$okperm 'change_profile->':$othertest
 
54
runchecktest "CHANGEPROFILE (no target, nochange)" pass nochange $file
 
55
runchecktest_errno ENOENT "CHANGEPROFILE (no target, $file)" fail $othertest $file
 
56
runchecktest_errno ENOENT "CHANGEPROFILE (no target, $subfile)" fail $othertest $subfile
 
57
 
 
58
 
 
59
# CHANGEPROFILE TEST
 
60
genprofile $file:$okperm 'change_profile->':$fqsubtest hat:$subtest $subfile:$okperm
 
61
runchecktest "CHANGEPROFILE (nochange access file)" pass nochange $file
 
62
runchecktest_errno EACCES "CHANGEPROFILE (nochange access subfile)" fail nochange $subfile
 
63
runchecktest_errno EACCES "CHANGEPROFILE (access file)" fail $fqsubtest $file
 
64
runchecktest "CHANGEPROFILE (access sub file)" pass $fqsubtest $subfile
 
65
 
 
66
 
 
67
# CHANGEPROFILE RE TEST
 
68
genprofile $file:$okperm 'change_profile->':"$fqsubbase//*" hat:$subtest $subfile:$okperm
 
69
runchecktest "CHANGEPROFILE_RE (nochange access file)" pass nochange $file
 
70
runchecktest_errno EACCES "CHANGEPROFILE_RE (nochange access subfile)" fail nochange $subfile
 
71
runchecktest_errno EACCES "CHANGEPROFILE_RE (access file)" fail $fqsubtest $file
 
72
runchecktest "CHANGEPROFILE_RE (access sub file)" pass $fqsubtest $subfile