CHFLAGS(1) BSD Reference Manual CHFLAGS(1)
chflags - change file flags
chflags [-R [-H | -L | -P]] [-h] flags file [...]
The chflags utility modifies the file flags of the listed files as speci- fied by the flags operand. The flags of a file dictate special restric- tions beyond those enforced by its mode/permissions. The options are as follows: -R Recursively descend through any specified directory arguments. Change the flags of the file hierarchies rooted in the files in- stead 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 the tree traversal are not followed.) -L If the -R option is also specified, all symbolic links are fol- lowed. -P If the -R option is also specified, no symbolic links are fol- lowed. -h If the file or a file encountered during directory traversal is a symbolic link, the file flags of the link itself is changed. Flags are a comma separated list of keywords. The following keywords are currently defined: 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 append-only 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 security level 0 or -1 (insecure or permanently insecure mode, respectively). For more infor- mation on setting the system security level, see securelevel(7). 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 actions are determined by the last one specified. Only the superuser can change the user flags on block and character dev- ices. 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), lchflags(2), stat(2), fts(3), securelevel(7), symlink(7)
The chflags command first appeared in 4.4BSD. The -h option first ap- peared in MirBSD #10. MirBSD #10-current May 20, 2007 1