mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
0e183a3032
Merge of master-melb:xfs-cmds:25919a by kenmcd. Test now checks HOSTOS and runs setfacl for linux and chacl for IRIX. Also removed the group ($4) column in the ls -l cmd because IRIX reports the group 'sys' but Linux reports the group as 'root'. This detail was not needed for the test.
88 lines
2.0 KiB
Bash
Executable File
88 lines
2.0 KiB
Bash
Executable File
#! /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-2006 Silicon Graphics, Inc. All Rights Reserved.
|
|
#-----------------------------------------------------------------------
|
|
#
|
|
# 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 }'
|
|
|
|
# add an ACL with a user ACE which has no exec permission
|
|
if [ "$HOSTOS" == "Linux" ]; then
|
|
setfacl -m u:$acl1:r subdir
|
|
elif [ "$HOSTOS" == "IRIX" ]; then
|
|
chacl u:$acl:r--,g::---,o::--- subdir
|
|
else
|
|
echo "Unknown OS!"
|
|
exit 1
|
|
fi
|
|
|
|
# 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 }'
|
|
|
|
# With the bug this gives: `subdir/file2: Permission denied'.
|
|
echo data2 > subdir/file2
|
|
|
|
# success, all done
|
|
status=0
|
|
exit
|