From: Tim Shimmin Date: Wed, 2 Mar 2005 04:59:50 +0000 (+0000) Subject: acl and exec perms test X-Git-Tag: v1.1.0~742 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=6e6280d86f1b50ee8b3f7a667df988f5f8f11fbc;p=users%2Fhch%2Fxfstests-dev.git acl and exec perms test Merge of master-melb:xfs-cmds:21690a by kenmcd. acl and exec perms test --- diff --git a/105 b/105 new file mode 100755 index 000000000..fbc573c40 --- /dev/null +++ b/105 @@ -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 diff --git a/105.out b/105.out new file mode 100644 index 000000000..41676b5ab --- /dev/null +++ b/105.out @@ -0,0 +1,3 @@ +QA output created by 105 +-rw-r--r-- root root +-rw-r--r-- root root diff --git a/group b/group index ff5b85b48..959f2d32b 100644 --- a/group +++ b/group @@ -181,5 +181,6 @@ aio nathans@sgi.com 102 udf auto 103 metadata dir ioctl auto 104 growfs ioctl +105 acl auto 112 rw aio auto 113 rw aio auto