acl and exec perms test

Merge of master-melb:xfs-cmds:21690a by kenmcd.

  acl and exec perms test
This commit is contained in:
Tim Shimmin
2005-03-02 04:59:50 +00:00
parent 11b5d15133
commit 6e6280d86f
3 changed files with 112 additions and 0 deletions
Executable
+108
View File
@@ -0,0 +1,108 @@
#! /bin/sh
# FS QA Test No. 105
#
# Test fix of bug:
# 930290 - xfs directory with no exec perm in ACL denies access
# and breaks CAPP evaluation
# which pulls out an earlier mod
#
#-----------------------------------------------------------------------
# Copyright (c) 2000-2004 Silicon Graphics, Inc. All Rights Reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of version 2 of the GNU General Public License as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it would be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# Further, this software is distributed without any warranty that it is
# free of the rightful claim of any third person regarding infringement
# or the like. Any license provided herein, whether implied or
# otherwise, applies only to this software file. Patent licenses, if
# any, provided herein do not apply to combinations of this program with
# other software, or any other product whatsoever.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write the Free Software Foundation, Inc., 59
# Temple Place - Suite 330, Boston MA 02111-1307, USA.
#
# Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
# Mountain View, CA 94043, or:
#
# http://www.sgi.com
#
# For further information regarding this notice, see:
#
# http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
#-----------------------------------------------------------------------
#
# creator
owner=fsgqa@snap.melbourne.sgi.com
seq=`basename $0`
echo "QA output created by $seq"
here=`pwd`
tmp=/tmp/$$
status=1 # failure is the default!
trap "_cleanup; exit \$status" 0 1 2 3 15
_cleanup()
{
cd /
}
# get standard environment, filters and checks
. ./common.rc
. ./common.filter
. ./common.attr
# Modify as appropriate.
_supported_fs xfs udf
_supported_os IRIX Linux
# real QA test starts here
rm -f $seq.full
_require_scratch
_acl_setup_ids
_acl_requirements
umount $SCRATCH_DEV >/dev/null 2>&1
echo "*** MKFS ***" >>$seq.full
echo "" >>$seq.full
_scratch_mkfs >>$seq.full 2>&1 \
|| _fail "mkfs failed"
_scratch_mount >>$seq.full 2>&1 \
|| _fail "mount failed"
cd $SCRATCH_MNT
# create a dir with out execute perms
mkdir -m 600 subdir
# make it owned by $acl1
chown $acl1 subdir
# put a file in the directory
echo data > subdir/file
ls -l subdir/file | awk '{ print $1, $3, $4 }'
# add an ACL with a user ACE which has no exec permission
setfacl -m u:$acl1:r subdir
# With the bug this gives: `ls: subdir/file: Permission denied'
# because one needs at least an exec perm somewhere in acl
# However, this should not hold true for directories.
ls -l subdir/file | awk '{ print $1, $3, $4 }'
# With the bug this gives: `subdir/file2: Permission denied'.
echo data2 > subdir/file2
# success, all done
status=0
exit
+3
View File
@@ -0,0 +1,3 @@
QA output created by 105
-rw-r--r-- root root
-rw-r--r-- root root
+1
View File
@@ -181,5 +181,6 @@ aio nathans@sgi.com
102 udf auto 102 udf auto
103 metadata dir ioctl auto 103 metadata dir ioctl auto
104 growfs ioctl 104 growfs ioctl
105 acl auto
112 rw aio auto 112 rw aio auto
113 rw aio auto 113 rw aio auto