xref: /netbsd-src/usr.bin/chflags/chflags.1 (revision 52efc5a51db248c4e2bca587e723c9802783d370)
1.\"	$NetBSD: chflags.1,v 1.32 2023/05/31 20:33:22 uwe Exp $
2.\"
3.\" Copyright (c) 1989, 1990, 1993, 1994
4.\"	The Regents of the University of California.  All rights reserved.
5.\"
6.\" This code is derived from software contributed to Berkeley by
7.\" the Institute of Electrical and Electronics Engineers, Inc.
8.\"
9.\" Redistribution and use in source and binary forms, with or without
10.\" modification, are permitted provided that the following conditions
11.\" are met:
12.\" 1. Redistributions of source code must retain the above copyright
13.\"    notice, this list of conditions and the following disclaimer.
14.\" 2. Redistributions in binary form must reproduce the above copyright
15.\"    notice, this list of conditions and the following disclaimer in the
16.\"    documentation and/or other materials provided with the distribution.
17.\" 3. Neither the name of the University nor the names of its contributors
18.\"    may be used to endorse or promote products derived from this software
19.\"    without specific prior written permission.
20.\"
21.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31.\" SUCH DAMAGE.
32.\"
33.\"	@(#)chflags.1	8.4 (Berkeley) 5/2/95
34.\"
35.Dd May 25, 2023
36.Dt CHFLAGS 1
37.Os
38.Sh NAME
39.Nm chflags
40.Nd change file flags
41.Sh SYNOPSIS
42.Nm
43.Oo
44.Fl R
45.Op Fl H | Fl L | Fl P
46.Oc
47.Op Fl d
48.Op Fl h
49.Ar flags
50.Ar
51.Sh DESCRIPTION
52The
53.Nm
54utility modifies the file flags of the listed files
55as specified by the
56.Ar flags
57operand.
58.Pp
59The options are as follows:
60.Bl -tag -width Fl
61.It Fl d
62If the change requested would not alter the
63flags currently set for
64.Ar file
65then attempt no change operation.
66.It Fl H
67If the
68.Fl R
69option is specified, symbolic links on the command line are followed.
70Symbolic links encountered in the tree traversal are not followed.
71.It Fl h
72If the
73.Ar file
74or a file encountered during directory traversal is a symbolic link,
75the file flags of the link itself are changed.
76.It Fl L
77If the
78.Fl R
79option is specified, all symbolic links are followed.
80.It Fl P
81If the
82.Fl R
83option is specified, no symbolic links are followed.
84.It Fl R
85Change the file flags for the file hierarchies rooted
86in the
87.Ar file\^ Ns s
88instead of just the
89.Ar file\^ Ns s
90themselves.
91.El
92.Pp
93Flags are a comma separated list of keywords.
94The following keywords are currently defined:
95.\" XXX: list the actual chflags(2) macro names
96.Bl -column -offset indent ".Sy Keyword" "system append-only"
97.It Sy Keyword Ta Sy Flag Ta Sy Permission
98.It Li arch Ta archived Ta super-user only
99.It Li opaque Ta opaque Ta owner or super-user
100.It Li nodump Ta nodump Ta owner or super-user
101.It Li sappnd Ta system append-only Ta super-user only
102.It Li schg Ta system immutable Ta super-user only
103.It Li uappnd Ta user append-only Ta owner or super-user
104.It Li uchg Ta user immutable Ta owner or super-user
105.El
106.Pp
107Putting the letters
108.Sq Cm no
109before a keyword causes the flag to be turned off.
110For example,
111.Li nouchg
112requests the immutable bit should be cleared.
113.Pp
114The
115.Fl H ,
116.Fl L
117and
118.Fl P
119options are ignored unless the
120.Fl R
121option is specified.
122In addition, these options override each other and the
123command's actions are determined by the last one specified.
124The default is as if the
125.Fl P
126option had been specified.
127.Pp
128The
129.Fl o
130option
131of
132.Xr ls 1
133is used to display the flags.
134.Pp
135The kernel does not allow the flags on block and character
136devices to be changed except by the super-user.
137.Pp
138Note that the ability to clear certain flags is
139dependent on the current kernel
140.Va securelevel .
141See
142.Xr secmodel_securelevel 9
143for details.
144.Sh EXIT STATUS
145.Ex -std
146.Sh SEE ALSO
147.Xr ls 1 ,
148.Xr chflags 2 ,
149.Xr lchflags 2 ,
150.Xr stat 2 ,
151.Xr fts 3 ,
152.Xr stat_flags 3 ,
153.Xr symlink 7 ,
154.Xr dump 8 ,
155.Xr init 8 ,
156.Xr secmodel_securelevel 9
157