]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - tools/regression/pjdfstest/tests/chmod/05.t
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / tools / regression / pjdfstest / tests / chmod / 05.t
1 #!/bin/sh
2 # $FreeBSD$
3
4 desc="chmod returns EACCES when search permission is denied for a component of the path prefix"
5
6 dir=`dirname $0`
7 . ${dir}/../misc.sh
8
9 if supported lchmod; then
10         echo "1..19"
11 else
12         echo "1..14"
13 fi
14
15 n0=`namegen`
16 n1=`namegen`
17 n2=`namegen`
18
19 expect 0 mkdir ${n0} 0755
20 cdir=`pwd`
21 cd ${n0}
22 expect 0 mkdir ${n1} 0755
23 expect 0 chown ${n1} 65534 65534
24 expect 0 -u 65534 -g 65534 create ${n1}/${n2} 0644
25 expect 0 -u 65534 -g 65534 chmod ${n1}/${n2} 0642
26 expect 0642 -u 65534 -g 65534 stat ${n1}/${n2} mode
27 expect 0 chmod ${n1} 0644
28 expect EACCES -u 65534 -g 65534 chmod ${n1}/${n2} 0620
29 expect 0 chmod ${n1} 0755
30 expect 0 -u 65534 -g 65534 chmod ${n1}/${n2} 0420
31 expect 0420 -u 65534 -g 65534 stat ${n1}/${n2} mode
32 if supported lchmod; then
33         expect 0 chmod ${n1} 0644
34         expect EACCES -u 65534 -g 65534 lchmod ${n1}/${n2} 0410
35         expect 0 chmod ${n1} 0755
36         expect 0 -u 65534 -g 65534 lchmod ${n1}/${n2} 0710
37         expect 0710 -u 65534 -g 65534 stat ${n1}/${n2} mode
38 fi
39 expect 0 -u 65534 -g 65534 unlink ${n1}/${n2}
40 expect 0 rmdir ${n1}
41 cd ${cdir}
42 expect 0 rmdir ${n0}