xref: /openbsd/regress/sys/ffs/tests/chflags/11.t (revision e5dd7070)
1#!/bin/sh
2# $FreeBSD: src/tools/regression/fstest/tests/chflags/11.t,v 1.1 2007/01/17 01:42:08 pjd Exp $
3
4desc="chflags returns EPERM if a user tries to set or remove the SF_SNAPSHOT flag"
5
6n0=`namegen`
7n1=`namegen`
8n2=`namegen`
9
10expect 0 mkdir ${n0} 0755
11cdir=`pwd`
12cd ${n0}
13
14expect 0 create ${n1} 0644
15expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT
16expect none stat ${n1} flags
17expect EPERM chflags ${n1} SF_SNAPSHOT
18expect none stat ${n1} flags
19expect 0 chown ${n1} 65534 65534
20expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT
21expect none stat ${n1} flags
22expect EPERM chflags ${n1} SF_SNAPSHOT
23expect none stat ${n1} flags
24expect 0 unlink ${n1}
25
26expect 0 mkdir ${n1} 0644
27expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT
28expect none stat ${n1} flags
29expect EPERM chflags ${n1} SF_SNAPSHOT
30expect none stat ${n1} flags
31expect 0 chown ${n1} 65534 65534
32expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT
33expect none stat ${n1} flags
34expect EPERM chflags ${n1} SF_SNAPSHOT
35expect none stat ${n1} flags
36expect 0 rmdir ${n1}
37
38expect 0 mkfifo ${n1} 0644
39expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT
40expect none stat ${n1} flags
41expect EPERM chflags ${n1} SF_SNAPSHOT
42expect none stat ${n1} flags
43expect 0 chown ${n1} 65534 65534
44expect EPERM -u 65534 -g 65534 chflags ${n1} SF_SNAPSHOT
45expect none stat ${n1} flags
46expect EPERM chflags ${n1} SF_SNAPSHOT
47expect none stat ${n1} flags
48expect 0 unlink ${n1}
49
50expect 0 symlink ${n2} ${n1}
51expect EPERM -u 65534 -g 65534 lchflags ${n1} SF_SNAPSHOT
52expect none lstat ${n1} flags
53expect EPERM lchflags ${n1} SF_SNAPSHOT
54expect none lstat ${n1} flags
55expect 0 lchown ${n1} 65534 65534
56expect EPERM -u 65534 -g 65534 lchflags ${n1} SF_SNAPSHOT
57expect none lstat ${n1} flags
58expect EPERM lchflags ${n1} SF_SNAPSHOT
59expect none lstat ${n1} flags
60expect 0 unlink ${n1}
61
62cd ${cdir}
63expect 0 rmdir ${n0}
64