chflags - change file flags
chflags [-R [-H | -L | -P]] flags file [...]
The chflags utility modifies the file flags of the listed
files as specified
by the flags operand. The flags of a file dictate special restrictions
beyond those enforced by its mode/permissions.
The options are as follows:
-R Recursively descend through any specified directory
Change the flags of the file hierarchies rooted in
the files instead
of just the files themselves.
-H If the -R option is also specified, symbolic links
on the command
line are followed. (Symbolic links encountered in
traversal are not followed.)
-L If the -R option is also specified, all symbolic
links are followed.
-P If the -R option is also specified, no symbolic
links are followed.
Flags are a comma separated list of keywords. The following
arch set the archived flag
opaque set the opaque flag (owner or superuser only)
nodump set the nodump flag (owner or superuser only)
sappnd set the system append-only flag (superuser only)
schg set the system immutable flag (superuser only)
uappnd set the user append-only flag (owner or superuser only)
uchg set the user immutable flag (owner or superuser only)
An immutable file may not be changed, moved, or deleted. An
file is immutable except that data may be appended to it.
Putting the letters ``no'' before a flag name causes the
flag to be
turned off. For example:
nouchg the immutable bit should be cleared
The superuser-settable ``sappnd'' and ``schg'' flags can be
set at any
time, but may only be cleared when the system is running at
0 or -1 (insecure or permanently insecure mode, respectively). The
securelevel is normally set to 0, for example, when running
Symbolic links do not have flags, so unless the -H or -L option is set,
chflags on a symbolic link always succeeds and has no effect. The -H,
-L, and -P options are ignored unless the -R option is specified. In addition,
these options override each other and the command's
determined by the last one specified.
Only the superuser can change the user flags on block and
You can use ls -lo to see the flags of existing files.
The chflags utility exits 0 on success or >0 if an error occurred.
ls(1), chflags(2), stat(2), fts(3), symlink(7)
The chflags command first appeared in 4.4BSD.
OpenBSD 3.6 May 2, 1995
[ Back ]