xref: /freebsd/bin/chflags/chflags.1 (revision 6472ac3d8a86336899b6cfb789a4cd9897e3fab5)
1.\"-
2.\" Copyright (c) 1989, 1990, 1993, 1994
3.\"	The Regents of the University of California.  All rights reserved.
4.\"
5.\" This code is derived from software contributed to Berkeley by
6.\" the Institute of Electrical and Electronics Engineers, Inc.
7.\"
8.\" Redistribution and use in source and binary forms, with or without
9.\" modification, are permitted provided that the following conditions
10.\" are met:
11.\" 1. Redistributions of source code must retain the above copyright
12.\"    notice, this list of conditions and the following disclaimer.
13.\" 2. Redistributions in binary form must reproduce the above copyright
14.\"    notice, this list of conditions and the following disclaimer in the
15.\"    documentation and/or other materials provided with the distribution.
16.\" 4. Neither the name of the University nor the names of its contributors
17.\"    may be used to endorse or promote products derived from this software
18.\"    without specific prior written permission.
19.\"
20.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30.\" SUCH DAMAGE.
31.\"
32.\"	@(#)chflags.1	8.4 (Berkeley) 5/2/95
33.\" $FreeBSD$
34.\"
35.Dd March 3, 2006
36.Dt CHFLAGS 1
37.Os
38.Sh NAME
39.Nm chflags
40.Nd change file flags
41.Sh SYNOPSIS
42.Nm
43.Op Fl fhv
44.Oo
45.Fl R
46.Op Fl H | Fl L | Fl P
47.Oc
48.Ar flags
49.Ar
50.Sh DESCRIPTION
51The
52.Nm
53utility modifies the file flags of the listed files
54as specified by the
55.Ar flags
56operand.
57.Pp
58The options are as follows:
59.Bl -tag -width indent
60.It Fl f
61Do not display a diagnostic message if
62.Nm
63could not modify the flags for
64.Va file ,
65nor modify the exit status to reflect such failures.
66.It Fl H
67If the
68.Fl R
69option is specified, symbolic links on the command line are followed.
70(Symbolic links encountered in the tree traversal are not followed.)
71.It Fl h
72If the
73.Ar file
74is a symbolic link,
75change the file flags of the link itself rather than the file to which it points.
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.
84This is the default.
85.It Fl R
86Change the file flags for the file hierarchies rooted
87in the files instead of just the files themselves.
88.It Fl v
89Cause
90.Nm
91to be verbose, showing filenames as the flags are modified.
92If the
93.Fl v
94option is specified more than once, the old and new flags of the file
95will also be printed, in octal notation.
96.El
97.Pp
98The flags are specified as an octal number or a comma separated list
99of keywords.
100The following keywords are currently defined:
101.Bl -tag -offset indent -width ".Cm opaque"
102.It Cm arch , archived
103set the archived flag (super-user only)
104.It Cm opaque
105set the opaque flag (owner or super-user only)
106.It Cm nodump
107set the nodump flag (owner or super-user only)
108.It Cm sappnd , sappend
109set the system append-only flag (super-user only)
110.It Cm schg , schange , simmutable
111set the system immutable flag (super-user only)
112.It Cm sunlnk , sunlink
113set the system undeletable flag (super-user only)
114.It Cm uappnd , uappend
115set the user append-only flag (owner or super-user only)
116.It Cm uchg , uchange , uimmutable
117set the user immutable flag (owner or super-user only)
118.It Cm uunlnk , uunlink
119set the user undeletable flag (owner or super-user only)
120.El
121.Pp
122Putting the letters
123.Dq Ar no
124before or removing the letters
125.Dq Ar no
126from a keyword causes the flag to be cleared.
127For example:
128.Pp
129.Bl -tag -offset indent -width "nouchg" -compact
130.It Cm nouchg
131clear the user immutable flag (owner or super-user only)
132.It Cm dump
133clear the nodump flag (owner or super-user only)
134.El
135.Pp
136A few of the octal values include:
137.Bl -tag -offset indent -width ".Li 10"
138.It Li 0
139Clear all file flags.
140.It Li 1
141Translates to the
142.Cm nodump
143keyword.
144.It Li 2
145Translates to the
146.Cm uchg
147keyword.
148.It Li 3
149Translates to the
150.Cm uchg , nodump
151keywords.
152.It Li 4
153Translates to the
154.Cm uappnd
155keyword.
156.It Li 10
157Translates to the
158.Cm opaque
159keyword.
160.It Li 20
161translates to the
162.Cm uunlnk
163keyword.
164.El
165.Pp
166Other combinations of keywords may be placed by using
167the octets assigned; however, these are the most notable.
168.Pp
169Unless the
170.Fl H ,
171.Fl L ,
172or
173.Fl h
174options are given,
175.Nm
176on a symbolic link always succeeds and has no effect.
177The
178.Fl H ,
179.Fl L
180and
181.Fl P
182options are ignored unless the
183.Fl R
184option is specified.
185In addition, these options override each other and the
186command's actions are determined by the last one specified.
187.Pp
188You can use "ls -lo" to see the flags of existing files.
189.Pp
190Note that the ability to change certain flags is dependent
191on the current kernel
192.Va securelevel
193setting.
194See
195.Xr security 7
196for more information on this setting.
197.Sh EXIT STATUS
198.Ex -std
199.Sh SEE ALSO
200.Xr ls 1 ,
201.Xr chflags 2 ,
202.Xr stat 2 ,
203.Xr fts 3 ,
204.Xr security 7 ,
205.Xr symlink 7
206.Sh HISTORY
207The
208.Nm
209command first appeared in
210.Bx 4.4 .
211.Sh BUGS
212Only a limited number of utilities are
213.Nm
214aware.
215Some of these tools include
216.Xr ls 1 ,
217.Xr cp 1 ,
218.Xr find 1 ,
219.Xr install 1 ,
220.Xr dump 8 ,
221and
222.Xr restore 8 .
223In particular a tool which is not currently
224.Nm
225aware is the
226.Xr pax 1
227utility.
228