1#!/bin/sh 2# $FreeBSD: src/tools/regression/fstest/tests/chflags/11.t,v 1.1 2007/01/17 01:42:08 pjd Exp $ 3 4desc="chflags returns EPERM if a user tries to set or remove the SF_SNAPSHOT flag" 5 6n0=`namegen` 7n1=`namegen` 8n2=`namegen` 9 10expect 0 mkdir ${n0} 0755 11cdir=`pwd` 12cd ${n0} 13 14expect 0 create ${n1} 0644 15expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT 16expect none stat ${n1} flags 17expect EPERM chflags ${n1} SF_SNAPSHOT 18expect none stat ${n1} flags 19expect 0 chown ${n1} 65534 65534 20expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT 21expect none stat ${n1} flags 22expect EPERM chflags ${n1} SF_SNAPSHOT 23expect none stat ${n1} flags 24expect 0 unlink ${n1} 25 26expect 0 mkdir ${n1} 0644 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 chown ${n1} 65534 65534 32expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT 33expect none stat ${n1} flags 34expect EPERM chflags ${n1} SF_SNAPSHOT 35expect none stat ${n1} flags 36expect 0 rmdir ${n1} 37 38expect 0 mkfifo ${n1} 0644 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 chown ${n1} 65534 65534 44expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT 45expect none stat ${n1} flags 46expect EPERM chflags ${n1} SF_SNAPSHOT 47expect none stat ${n1} flags 48expect 0 unlink ${n1} 49 50expect 0 symlink ${n2} ${n1} 51expect EPERM -u 65534 -g 65534 lchflags ${n1} SF_SNAPSHOT 52expect none lstat ${n1} flags 53expect EPERM lchflags ${n1} SF_SNAPSHOT 54expect none lstat ${n1} flags 55expect 0 lchown ${n1} 65534 65534 56expect EPERM -u 65534 -g 65534 lchflags ${n1} SF_SNAPSHOT 57expect none lstat ${n1} flags 58expect EPERM lchflags ${n1} SF_SNAPSHOT 59expect none lstat ${n1} flags 60expect 0 unlink ${n1} 61 62cd ${cdir} 63expect 0 rmdir ${n0} 64