]> CyberLeo.Net >> Repos - FreeBSD/releng/8.1.git/blob - tools/regression/fstest/tests/chflags/11.t
Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.
[FreeBSD/releng/8.1.git] / tools / regression / fstest / tests / chflags / 11.t
1 #!/bin/sh
2 # $FreeBSD$
3
4 desc="chflags returns EPERM if a user tries to set or remove the SF_SNAPSHOT flag"
5
6 dir=`dirname $0`
7 . ${dir}/../misc.sh
8
9 require chflags_SF_SNAPSHOT
10
11 echo "1..46"
12
13 n0=`namegen`
14 n1=`namegen`
15 n2=`namegen`
16
17 expect 0 mkdir ${n0} 0755
18 cdir=`pwd`
19 cd ${n0}
20
21 expect 0 create ${n1} 0644
22 expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT
23 expect none stat ${n1} flags
24 expect EPERM chflags ${n1} SF_SNAPSHOT
25 expect none stat ${n1} flags
26 expect 0 chown ${n1} 65534 65534
27 expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT
28 expect none stat ${n1} flags
29 expect EPERM chflags ${n1} SF_SNAPSHOT
30 expect none stat ${n1} flags
31 expect 0 unlink ${n1}
32
33 expect 0 mkdir ${n1} 0644
34 expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT
35 expect none stat ${n1} flags
36 expect EPERM chflags ${n1} SF_SNAPSHOT
37 expect none stat ${n1} flags
38 expect 0 chown ${n1} 65534 65534
39 expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT
40 expect none stat ${n1} flags
41 expect EPERM chflags ${n1} SF_SNAPSHOT
42 expect none stat ${n1} flags
43 expect 0 rmdir ${n1}
44
45 expect 0 mkfifo ${n1} 0644
46 expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT
47 expect none stat ${n1} flags
48 expect EPERM chflags ${n1} SF_SNAPSHOT
49 expect none stat ${n1} flags
50 expect 0 chown ${n1} 65534 65534
51 expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT
52 expect none stat ${n1} flags
53 expect EPERM chflags ${n1} SF_SNAPSHOT
54 expect none stat ${n1} flags
55 expect 0 unlink ${n1}
56
57 expect 0 symlink ${n2} ${n1}
58 expect EPERM -u 65534 -g 65534 lchflags ${n1} SF_SNAPSHOT
59 expect none lstat ${n1} flags
60 expect EPERM lchflags ${n1} SF_SNAPSHOT
61 expect none lstat ${n1} flags
62 expect 0 lchown ${n1} 65534 65534
63 expect EPERM -u 65534 -g 65534 lchflags ${n1} SF_SNAPSHOT
64 expect none lstat ${n1} flags
65 expect EPERM lchflags ${n1} SF_SNAPSHOT
66 expect none lstat ${n1} flags
67 expect 0 unlink ${n1}
68
69 cd ${cdir}
70 expect 0 rmdir ${n0}