1166065Spjd#!/bin/sh 2166065Spjd# $FreeBSD: releng/10.2/tools/regression/pjdfstest/tests/chown/08.t 210984 2010-08-06 23:58:54Z pjd $ 3166065Spjd 4166065Spjddesc="chown returns EPERM if the named file has its immutable or append-only flag set" 5166065Spjd 6166065Spjddir=`dirname $0` 7166065Spjd. ${dir}/../misc.sh 8166065Spjd 9166065Spjdrequire chflags 10166065Spjd 11210984Spjdcase "${os}:${fs}" in 12210984SpjdFreeBSD:ZFS) 13210984Spjd echo "1..20" 14210984Spjd ;; 15210984SpjdFreeBSD:UFS) 16210984Spjd echo "1..44" 17210984Spjd ;; 18210984Spjd*) 19210984Spjd quick_exit 20210984Spjdesac 21166065Spjd 22166065Spjdn0=`namegen` 23166065Spjd 24166065Spjdexpect 0 create ${n0} 0644 25166065Spjdexpect 0 chflags ${n0} SF_IMMUTABLE 26166065Spjdexpect EPERM chown ${n0} 65534 65534 27210984Spjdexpect 0,0 stat ${n0} uid,gid 28166065Spjdexpect 0 chflags ${n0} none 29166065Spjdexpect 0 chown ${n0} 65534 65534 30210984Spjdexpect 65534,65534 stat ${n0} uid,gid 31166065Spjdexpect 0 unlink ${n0} 32166065Spjd 33166065Spjdexpect 0 create ${n0} 0644 34210984Spjdexpect 0 chflags ${n0} SF_NOUNLINK 35166065Spjdexpect 0 chown ${n0} 65534 65534 36210984Spjdexpect 65534,65534 stat ${n0} uid,gid 37166065Spjdexpect 0 chflags ${n0} none 38166065Spjdexpect 0 unlink ${n0} 39166065Spjd 40210984Spjdcase "${os}:${fs}" in 41210984SpjdFreeBSD:ZFS) 42210984Spjd expect 0 create ${n0} 0644 43210984Spjd expect 0 chflags ${n0} SF_APPEND 44210984Spjd expect 0 chown ${n0} 65534 65534 45210984Spjd expect 65534,65534 stat ${n0} uid,gid 46210984Spjd expect 0 chflags ${n0} none 47210984Spjd expect 0 unlink ${n0} 48210984Spjd ;; 49210984SpjdFreeBSD:UFS) 50210984Spjd expect 0 create ${n0} 0644 51210984Spjd expect 0 chflags ${n0} SF_APPEND 52210984Spjd expect EPERM chown ${n0} 65534 65534 53210984Spjd expect 0,0 stat ${n0} uid,gid 54210984Spjd expect 0 chflags ${n0} none 55210984Spjd expect 0 chown ${n0} 65534 65534 56210984Spjd expect 65534,65534 stat ${n0} uid,gid 57210984Spjd expect 0 unlink ${n0} 58166065Spjd 59210984Spjd expect 0 create ${n0} 0644 60210984Spjd expect 0 chflags ${n0} UF_IMMUTABLE 61210984Spjd expect EPERM chown ${n0} 65534 65534 62210984Spjd expect 0,0 stat ${n0} uid,gid 63210984Spjd expect 0 chflags ${n0} none 64210984Spjd expect 0 chown ${n0} 65534 65534 65210984Spjd expect 65534,65534 stat ${n0} uid,gid 66210984Spjd expect 0 unlink ${n0} 67166065Spjd 68210984Spjd expect 0 create ${n0} 0644 69210984Spjd expect 0 chflags ${n0} UF_NOUNLINK 70210984Spjd expect 0 chown ${n0} 65534 65534 71210984Spjd expect 65534,65534 stat ${n0} uid,gid 72210984Spjd expect 0 chflags ${n0} none 73210984Spjd expect 0 unlink ${n0} 74210984Spjd 75210984Spjd expect 0 create ${n0} 0644 76210984Spjd expect 0 chflags ${n0} UF_APPEND 77210984Spjd expect EPERM chown ${n0} 65534 65534 78210984Spjd expect 0,0 stat ${n0} uid,gid 79210984Spjd expect 0 chflags ${n0} none 80210984Spjd expect 0 chown ${n0} 65534 65534 81210984Spjd expect 65534,65534 stat ${n0} uid,gid 82210984Spjd expect 0 unlink ${n0} 83210984Spjd ;; 84210984Spjdesac 85