chattr - change file attributes on a Linux second extended file system
Synopsis
Description
Options
Attributes
Author
Bugs And Limitations
Availability
See Also
chattr [ -RV ] [ -v version ] [ mode ] files...
chattr changes the file attributes on a Linux second extended file system.The format of a symbolic mode is +-=[ASacDdIijsTtu].
The operator + causes the selected attributes to be added to the existing attributes of the files; - causes them to be removed; and = causes them to be the only attributes that the files have.
The letters acdijsuADST select the new attributes for the files: append only (a), compressed (c), no dump (d), immutable (i), data journalling (j), secure deletion (s), no tail-merging (t), undeletable (u), no atime updates (A), synchronous directory updates (D), synchronous updates (S), and top of directory hierarchy (T).
-R Recursively change attributes of directories and their contents. Symbolic links encountered during recursive directory traversals are ignored. -V Be verbose with chattrs output and print the program version. -v version Set the files version/generation number.
When a file with the A attribute set is accessed, its atime record is not modified. This avoids a certain amount of disk I/O for laptop systems.A file with the a attribute set can only be open in append mode for writing. Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE capability can set or clear this attribute.
A file with the c attribute set is automatically compressed on the disk by the kernel. A read from this file returns uncompressed data. A write to this file compresses data before storing them on the disk.
When a directory with the D attribute set is modified, the changes are written synchronously on the disk; this is equivalent to the dirsync mount option applied to a subset of the files.
A file with the d attribute set is not candidate for backup when the dump(8) program is run.
The E attribute is used by the experimental compression patches to indicate that a compressed file has a compression error. It may not be set or reset using chattr(1), although it can be displayed by lsattr(1).
The I attribute is used by the htree code to indicate that a directory is behind indexed using hashed trees. It may not be set or reset using chattr(1), although it can be displayed by lsattr(1).
A file with the i attribute cannot be modified: it cannot be deleted or renamed, no link can be created to this file and no data can be written to the file. Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE capability can set or clear this attribute.
A file with the j attribute has all of its data written to the ext3 journal before being written to the file itself, if the filesystem is mounted with the "data=ordered" or "data=writeback" options. When the filesystem is mounted with the "data=journal" option all file data is already journalled and this attribute has no effect. Only the superuser or a process possessing the CAP_SYS_RESOURCE capability can set or clear this attribute.
When a file with the s attribute set is deleted, its blocks are zeroed and written back to the disk.
When a file with the S attribute set is modified, the changes are written synchronously on the disk; this is equivalent to the sync mount option applied to a subset of the files.
A directory with the T attribute will be deemed to be the top of directory hierarchies for the purposes of the Orlov block allocator (which is used in on systems with Linux 2.5.46 or later).
A file with the t attribute will not have a partial block fragment at the end of the file merged with other files (for those filesystems which support tail-merging). This is necessary for applications such as LILO which read the filesystem directly, and which dont understand tail-merged files. Note: As of this writing, the ext2 or ext3 filesystems do not (yet, except in very experimental patches) support tail-merging.
When a file with the u attribute set is deleted, its contents are saved. This allows the user to ask for its undeletion.
The X attribute is used by the experimental compression patches to indicate that a raw contents of a compressed file can be accessed directly. It currently may not be set or reset using chattr(1), although it can be displayed by lsattr(1).
The Z attribute is used by the experimental compression patches to indicate a compressed file is dirty. It may not be set or reset using chattr(1), although it can be displayed by lsattr(1).
chattr was written by Remy Card <Remy.Card@linux.org>. It is currently being maintained by Theodore Tso <tytso@alum.mit.edu>.
The c, s, and u attributes are not honored by the ext2 and ext3 filesystems as implemented in the current mainline Linux kernels. These attributes may be implemented in future versions ext2 and ext3.The j option is only useful if the filesystem is mounted as ext3.
The D option is only useful on Linux kernel 2.5.19 and later.
chattr is part of the e2fsprogs package and is available from http://e2fsprogs.sourceforge.net.
lsattr(1)
| E2fsprogs version 1.35 | CHATTR (1) | February 2004 |