1271294Sngie#!/bin/sh 2271294Sngie# $FreeBSD: head/tools/regression/pjdfstest/tests/chmod/12.t 219463 2011-03-10 20:59:02Z pjd $ 3271294Sngie 4271294Sngiedesc="verify SUID/SGID bit behaviour" 5271294Sngie 6271294Sngiedir=`dirname $0` 7271294Sngie. ${dir}/../misc.sh 8271294Sngie 9271294Sngieecho "1..14" 10271294Sngie 11271294Sngien0=`namegen` 12271294Sngien1=`namegen` 13271294Sngien2=`namegen` 14271294Sngie 15271294Sngieexpect 0 mkdir ${n2} 0755 16271294Sngiecdir=`pwd` 17271294Sngiecd ${n2} 18271294Sngie 19271294Sngie# Check whether writing to the file by non-owner clears the SUID. 20271294Sngieexpect 0 create ${n0} 04777 21271294Sngieexpect 0777 -u 65534 -g 65534 open ${n0} O_WRONLY : write 0 x : fstat 0 mode 22271294Sngieexpect 0777 stat ${n0} mode 23271294Sngieexpect 0 unlink ${n0} 24271294Sngie 25271294Sngie# Check whether writing to the file by non-owner clears the SGID. 26271294Sngieexpect 0 create ${n0} 02777 27271294Sngieexpect 0777 -u 65534 -g 65534 open ${n0} O_RDWR : write 0 x : fstat 0 mode 28271294Sngieexpect 0777 stat ${n0} mode 29271294Sngieexpect 0 unlink ${n0} 30271294Sngie 31271294Sngie# Check whether writing to the file by non-owner clears the SUID+SGID. 32271294Sngieexpect 0 create ${n0} 06777 33271294Sngieexpect 0777 -u 65534 -g 65534 open ${n0} O_RDWR : write 0 x : fstat 0 mode 34271294Sngieexpect 0777 stat ${n0} mode 35271294Sngieexpect 0 unlink ${n0} 36271294Sngie 37271294Sngiecd ${cdir} 38271294Sngieexpect 0 rmdir ${n2} 39