CHFLAGS(1) | General Commands Manual | CHFLAGS(1)

# NAME

`chflags` — change file flags

# SYNOPSIS

`chflags` | [`-R` [`-H` | `-L` | `-P`]] [`-d`] [`-h`] flags file ...

# DESCRIPTION

The `chflags` utility modifies the file flags of the listed files as specified by the flags operand.

The options are as follows:

`-d`
  If the change requested would not alter the flags currently set for file then attempt no change operation.
`-H`
  If the `-R` option is specified, symbolic links on the command line are followed. Symbolic links encountered in the tree traversal are not followed.
`-h`
  If the file or a file encountered during directory traversal is a symbolic link, the file flags of the link itself are changed.
`-L`
  If the `-R` option is specified, all symbolic links are followed.
`-P`
  If the `-R` option is specified, no symbolic links are followed.
`-R`
  Change the file flags for the file hierarchies rooted in the files instead of just the files themselves.

Flags are a comma separated list of keywords. The following keywords are currently defined:

Keyword | Flag | Permission
`arch` | archived | super-user only
`opaque` | opaque | owner or super-user
`nodump` | nodump | owner or super-user
`sappnd` | system append-only | super-user only
`schg` | system immutable | super-user only
`uappnd` | user append-only | owner or super-user
`uchg` | user immutable | owner or super-user

Putting the letters ‘`no`’ before a keyword causes the flag to be turned off. For example, `nouchg` requests the immutable bit should be cleared.

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. The default is as if the `-P` option had been specified.

The `-o` option of ls(1) is used to display the flags.

The kernel does not allow the flags on block and character devices to be changed except by the super-user.

Note that the ability to clear certain flags is dependent on the current kernel securelevel. See secmodel_securelevel(9) for details.

# EXIT STATUS

The `chflags` utility exits 0 on success, and >0 if an error occurs.

# SEE ALSO

ls(1), chflags(2), lchflags(2), stat(2), fts(3), stat_flags(3), symlink(7), dump(8), init(8), secmodel_securelevel(9)

May 25, 2023 | NetBSD 11.0