]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/pjdfstest/tests/granular/04.t
Import 1.14.3
[FreeBSD/FreeBSD.git] / contrib / pjdfstest / tests / granular / 04.t
1 #!/bin/sh
2 # vim: filetype=sh noexpandtab ts=8 sw=8
3 # $FreeBSD: head/tools/regression/pjdfstest/tests/granular/04.t 211352 2010-08-15 21:24:17Z pjd $
4
5 desc="NFSv4 granular permissions checking - ACL_WRITE_OWNER"
6
7 dir=`dirname $0`
8 . ${dir}/../misc.sh
9
10 nfsv4acls || quick_exit
11
12 echo "1..22"
13
14 n0=`namegen`
15 n2=`namegen`
16
17 expect 0 mkdir ${n2} 0755
18 cdir=`pwd`
19 cd ${n2}
20
21 # ACL_WRITE_OWNER permits to set gid to our own only.
22 expect 0 create ${n0} 0644
23 expect 0,0 lstat ${n0} uid,gid
24 expect EPERM -u 65534 -g 65532,65531 chown ${n0} -1 65532
25 expect 0,0 lstat ${n0} uid,gid
26 expect 0 prependacl ${n0} user:65534:write_owner::allow
27 expect EPERM -u 65534 -g 65532,65531 chown ${n0} -1 65530
28 expect 0,0 lstat ${n0} uid,gid
29 expect 0 -u 65534 -g 65532,65531 chown ${n0} -1 65532
30 expect 0,65532 lstat ${n0} uid,gid
31 expect 0 unlink ${n0}
32
33 # ACL_WRITE_OWNER permits to set uid to our own only.
34 expect 0 create ${n0} 0644
35 expect 0,0 lstat ${n0} uid,gid
36 expect EPERM -u 65534 -g 65532,65531 chown ${n0} 65534 65531
37 expect 0,0 lstat ${n0} uid,gid
38 expect 0 prependacl ${n0} user:65534:write_owner::allow
39 expect EPERM -u 65534 -g 65532,65531 chown ${n0} 65530 65531
40 expect 0,0 lstat ${n0} uid,gid
41 expect 0 -u 65534 -g 65532,65531 chown ${n0} 65534 65531
42 expect 65534,65531 lstat ${n0} uid,gid
43 expect 0 unlink ${n0}
44
45 cd ${cdir}
46 expect 0 rmdir ${n2}