1 #!/bin/sh 2 ################################################################################ 3 ## ## 4 ## Copyright (C) 2009 IBM Corporation ## 5 ## ## 6 ## This program is free software; you can redistribute it and#or modify ## 7 ## it under the terms of the GNU General Public License as published by ## 8 ## the Free Software Foundation; either version 2 of the License, or ## 9 ## (at your option) any later version. ## 10 ## ## 11 ## This program is distributed in the hope that it will be useful, but ## 12 ## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ## 13 ## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ## 14 ## for more details. ## 15 ## ## 16 ## You should have received a copy of the GNU General Public License ## 17 ## along with this program; if not, write to the Free Software Foundation, ## 18 ## Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ## 19 ## ## 20 ################################################################################ 21 # 22 # File : ima_setup.sh 23 # 24 # Description: setup/cleanup routines for the integrity tests. 25 # 26 # Author: Mimi Zohar, zohar (at] ibm.vnet.ibm.com 27 ################################################################################ 28 . test.sh 29 mount_sysfs() 30 { 31 SYSFS=$(mount 2>/dev/null | awk '$5 == "sysfs" { print $3 }') 32 if [ "x$SYSFS" = x ] ; then 33 34 SYSFS=/sys 35 36 test -d $SYSFS || mkdir -p $SYSFS 2>/dev/null 37 if [ $? -ne 0 ] ; then 38 tst_brkm TBROK "Failed to mkdir $SYSFS" 39 fi 40 if ! mount -t sysfs sysfs $SYSFS 2>/dev/null ; then 41 tst_brkm TBROK "Failed to mount $SYSFS" 42 fi 43 44 fi 45 } 46 47 mount_securityfs() 48 { 49 SECURITYFS=$(mount 2>/dev/null | awk '$5 == "securityfs" { print $3 }') 50 if [ "x$SECURITYFS" = x ] ; then 51 52 SECURITYFS="$SYSFS/kernel/security" 53 54 test -d $SECURITYFS || mkdir -p $SECURITYFS 2>/dev/null 55 if [ $? -ne 0 ] ; then 56 tst_brkm TBROK "Failed to mkdir $SECURITYFS" 57 fi 58 if ! mount -t securityfs securityfs $SECURITYFS 2>/dev/null ; then 59 tst_brkm TBROK "Failed to mount $SECURITYFS" 60 fi 61 62 fi 63 } 64 65 setup() 66 { 67 tst_require_root 68 69 tst_tmpdir 70 71 mount_sysfs 72 73 # mount securityfs if it is not already mounted 74 mount_securityfs 75 76 # IMA must be configured in the kernel 77 IMA_DIR=$SECURITYFS/ima 78 if [ ! -d "$IMA_DIR" ]; then 79 tst_brkm TCONF "IMA not enabled in kernel" 80 fi 81 } 82 83 cleanup() 84 { 85 tst_rmdir 86 } 87