| #! /bin/bash |
| # SPDX-License-Identifier: GPL-2.0 |
| # Copyright (c) 2006 Silicon Graphics, Inc. All Rights Reserved. |
| # |
| # FSQA Test No. 126 |
| # |
| # tests various file permission options modified from CXFSQA test fs_perms |
| # |
| . ./common/preamble |
| _begin_fstest perms auto quick |
| |
| # Override the default cleanup function. |
| _cleanup() |
| { |
| cd / |
| rm -r -f $tmp.* |
| test -n "$testdir" && rm -rf "$testdir" |
| } |
| |
| # Import common functions. |
| . ./common/filter |
| |
| _require_test |
| _require_chown |
| _require_chmod |
| |
| QA_FS_PERMS=$here/src/fs_perms |
| |
| |
| # This test is testing filesystem permissions. If the sticky bit is set on |
| # the directory, that can affect the outcome. Create a new directory with |
| # known permissions in which to run this test. |
| testdir="$TEST_DIR/generic-${seq}.$$" |
| rm -rf $testdir |
| mkdir $testdir |
| chown 0:0 $testdir |
| chmod 0755 $testdir |
| cd $testdir |
| |
| cp $here/src/testx ./testx.file |
| |
| # file_perm owner_uid owner_gid tester_uid tester_gid perm_to_test expected_result pass=1 |
| $QA_FS_PERMS 001 99 99 12 100 x 1 |
| $QA_FS_PERMS 010 99 99 200 99 x 1 |
| $QA_FS_PERMS 100 99 99 99 500 x 1 |
| $QA_FS_PERMS 002 99 99 12 100 w 1 |
| $QA_FS_PERMS 020 99 99 200 99 w 1 |
| $QA_FS_PERMS 200 99 99 99 500 w 1 |
| $QA_FS_PERMS 004 99 99 12 100 r 1 |
| $QA_FS_PERMS 040 99 99 200 99 r 1 |
| $QA_FS_PERMS 400 99 99 99 500 r 1 |
| $QA_FS_PERMS 000 99 99 99 99 r 1 |
| $QA_FS_PERMS 000 99 99 99 99 w 1 |
| $QA_FS_PERMS 000 99 99 99 99 x 1 |
| $QA_FS_PERMS 010 99 99 99 500 x 1 |
| $QA_FS_PERMS 100 99 99 200 99 x 1 |
| $QA_FS_PERMS 020 99 99 99 500 w 1 |
| $QA_FS_PERMS 200 99 99 200 99 w 1 |
| $QA_FS_PERMS 040 99 99 99 500 r 1 |
| $QA_FS_PERMS 400 99 99 200 99 r 1 |
| |
| status=0 |
| exit |