chattr

chattr is a command in the Linux operating system that allows a user to set certain attributes on a file residing on an ext2-based filesystem. chflags is the analogous command on modern BSD systems, including Mac OS X. The commands are similar to the attrib command on DOS, OS/2 and Microsoft Windows. Other Unix systems have no analogous commands; Solaris supports extended file attributes, but there are no user level commands for setting or changing them, and the chatr command in HP-UX, and chattr in AIX have unrelated functions.

chattr and lsattr utilities on Linux and the attributes they manipulate are specific to the Second Extended Filesystem family (ext2, ext3), and are available as part of the e2fsprogs package. They don't work on files residing on other filesystems, e.g. ReiserFS, FAT.

Among other things, the command can be used to make files immutable so that password files and certain system files cannot be erased during software upgrades.[1]

Contents

Description

The form of the chattr command is:

chattr [-RVf] [-+=AacDdijsSu] [-v version] files...

The form of the chflags (OSX) command is:

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

Attributes (chattr)

Some attributes include:

  • don't update atime (A)
  • synchronous updates (S)
  • synchronous directory updates (D)
  • append only (a)
  • secure deletion (s)
  • top of directory hierarchy (T)
  • no tail-merging (t)
  • undeletable (u)

Attributes (chflags, OSX)

Some attributes include:

  • set the archived flag (super-user only) - arch, archived
  • set the opaque flag (owner or super-user only). [Directory is opaque when viewed through a union mount] - opaque
  • set the nodump flag (owner or super-user only) - nodump
  • set the system append-only flag (super-user only) - sappnd, sappend
  • set the system immutable flag (super-user only) - schg, schange, simmutable
  • set the user append-only flag (owner or super-user only) - uappnd, uappend
  • set the user immutable flag (owner or super-user only) - uchg, uchange, uimmutable
  • set the hidden flag [Hide item from GUI] - hidden

See also

  • lsattr – view file attributes
  • chown – change file/directory ownership
  • chmod – change file access control attributes
  • cacls – Microsoft Windows NT file system ACL control utility

Notes

  1. ^ chflags(1) – OpenBSD General Commands Manual

References