1#!/bin/sh 2# $FreeBSD: src/tools/regression/fstest/tests/chflags/09.t,v 1.1 2007/01/17 01:42:08 pjd Exp $ 3 4desc="chflags returns EPERM when one of SF_IMMUTABLE or SF_APPEND is set and securelevel is greater than 0" 5 6n0=`namegen` 7n1=`namegen` 8n2=`namegen` 9 10expect 0 mkdir ${n0} 0755 11cdir=`pwd` 12cd ${n0} 13 14expect 0 create ${n1} 0644 15expect 0 chown ${n1} 65534 65534 16for flag in SF_IMMUTABLE SF_APPEND; do 17 expect 0 chflags ${n1} ${flag} 18 expect ${flag} stat ${n1} flags 19done 20expect 0 chflags ${n1} none 21expect 0 unlink ${n1} 22 23expect 0 mkdir ${n1} 0755 24expect 0 chown ${n1} 65534 65534 25for flag in SF_IMMUTABLE SF_APPEND; do 26 expect 0 chflags ${n1} ${flag} 27 expect ${flag} stat ${n1} flags 28done 29expect 0 chflags ${n1} none 30expect 0 rmdir ${n1} 31 32expect 0 mkfifo ${n1} 0644 33expect 0 chown ${n1} 65534 65534 34for flag in SF_IMMUTABLE SF_APPEND; do 35 expect 0 chflags ${n1} ${flag} 36 expect ${flag} stat ${n1} flags 37done 38expect 0 chflags ${n1} none 39expect 0 unlink ${n1} 40 41expect 0 symlink ${n2} ${n1} 42expect 0 lchown ${n1} 65534 65534 43for flag in SF_IMMUTABLE SF_APPEND; do 44 expect 0 lchflags ${n1} ${flag} 45 expect ${flag} lstat ${n1} flags 46done 47expect 0 lchflags ${n1} none 48expect 0 unlink ${n1} 49 50cd ${cdir} 51expect 0 rmdir ${n0} 52