1#!/bin/sh
| 1#!/bin/sh
|
2# $FreeBSD: head/tools/regression/fstest/tests/chflags/11.t 185173 2008-11-22 13:27:15Z pjd $
| 2# $FreeBSD: head/tools/regression/fstest/tests/chflags/11.t 211180 2010-08-11 16:34:44Z pjd $
|
3 4desc="chflags returns EPERM if a user tries to set or remove the SF_SNAPSHOT flag" 5 6dir=`dirname $0` 7. ${dir}/../misc.sh 8 9require chflags_SF_SNAPSHOT 10
| 3 4desc="chflags returns EPERM if a user tries to set or remove the SF_SNAPSHOT flag" 5 6dir=`dirname $0` 7. ${dir}/../misc.sh 8 9require chflags_SF_SNAPSHOT 10
|
11echo "1..46"
| 11echo "1..158"
|
12 13n0=`namegen` 14n1=`namegen` 15n2=`namegen` 16 17expect 0 mkdir ${n0} 0755 18cdir=`pwd` 19cd ${n0} 20
| 12 13n0=`namegen` 14n1=`namegen` 15n2=`namegen` 16 17expect 0 mkdir ${n0} 0755 18cdir=`pwd` 19cd ${n0} 20
|
21expect 0 create ${n1} 0644 22expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT 23expect none stat ${n1} flags 24expect EPERM chflags ${n1} SF_SNAPSHOT 25expect none stat ${n1} flags 26expect 0 chown ${n1} 65534 65534 27expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT 28expect none stat ${n1} flags 29expect EPERM chflags ${n1} SF_SNAPSHOT 30expect none stat ${n1} flags 31expect 0 unlink ${n1}
| 21for type in regular dir fifo block char socket symlink; do 22 if [ "${type}" != "symlink" ]; then 23 create_file ${type} ${n1} 0 0 24 expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT 25 expect none stat ${n1} flags 26 expect EPERM chflags ${n1} SF_SNAPSHOT 27 expect none stat ${n1} flags 28 expect 0 chown ${n1} 65534 65534 29 expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT 30 expect none stat ${n1} flags 31 expect EPERM chflags ${n1} SF_SNAPSHOT 32 expect none stat ${n1} flags 33 if [ "${type}" = "dir" ]; then 34 expect 0 rmdir ${n1} 35 else 36 expect 0 unlink ${n1} 37 fi 38 fi
|
32
| 39
|
33expect 0 mkdir ${n1} 0644 34expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT 35expect none stat ${n1} flags 36expect EPERM chflags ${n1} SF_SNAPSHOT 37expect none stat ${n1} flags 38expect 0 chown ${n1} 65534 65534 39expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT 40expect none stat ${n1} flags 41expect EPERM chflags ${n1} SF_SNAPSHOT 42expect none stat ${n1} flags 43expect 0 rmdir ${n1}
| 40 create_file ${type} ${n1} 0 0 41 expect EPERM -u 65534 -g 65534 lchflags ${n1} SF_SNAPSHOT 42 expect none lstat ${n1} flags 43 expect EPERM lchflags ${n1} SF_SNAPSHOT 44 expect none lstat ${n1} flags 45 expect 0 lchown ${n1} 65534 65534 46 expect EPERM -u 65534 -g 65534 lchflags ${n1} SF_SNAPSHOT 47 expect none lstat ${n1} flags 48 expect EPERM lchflags ${n1} SF_SNAPSHOT 49 expect none lstat ${n1} flags 50 if [ "${type}" = "dir" ]; then 51 expect 0 rmdir ${n1} 52 else 53 expect 0 unlink ${n1} 54 fi 55done
|
44
| 56
|
45expect 0 mkfifo ${n1} 0644 46expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT 47expect none stat ${n1} flags 48expect EPERM chflags ${n1} SF_SNAPSHOT 49expect none stat ${n1} flags 50expect 0 chown ${n1} 65534 65534 51expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT 52expect none stat ${n1} flags 53expect EPERM chflags ${n1} SF_SNAPSHOT 54expect none stat ${n1} flags 55expect 0 unlink ${n1} 56 57expect 0 symlink ${n2} ${n1} 58expect EPERM -u 65534 -g 65534 lchflags ${n1} SF_SNAPSHOT 59expect none lstat ${n1} flags 60expect EPERM lchflags ${n1} SF_SNAPSHOT 61expect none lstat ${n1} flags 62expect 0 lchown ${n1} 65534 65534 63expect EPERM -u 65534 -g 65534 lchflags ${n1} SF_SNAPSHOT 64expect none lstat ${n1} flags 65expect EPERM lchflags ${n1} SF_SNAPSHOT 66expect none lstat ${n1} flags 67expect 0 unlink ${n1} 68
| |
69cd ${cdir} 70expect 0 rmdir ${n0}
| 57cd ${cdir} 58expect 0 rmdir ${n0}
|