diff options
Diffstat (limited to '')
-rw-r--r-- | misc/chattr.1.in | 299 |
1 files changed, 299 insertions, 0 deletions
diff --git a/misc/chattr.1.in b/misc/chattr.1.in new file mode 100644 index 0000000..50c54e7 --- /dev/null +++ b/misc/chattr.1.in @@ -0,0 +1,299 @@ +.\" -*- nroff -*- +.TH CHATTR 1 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@" +.SH NAME +chattr \- change file attributes on a Linux file system +.SH SYNOPSIS +.B chattr +[ +.B \-RVf +] +[ +.B \-v +.I version +] +[ +.B \-p +.I project +] +[ +.I mode +] +.I files... +.SH DESCRIPTION +.B chattr +changes the file attributes on a Linux file system. +.PP +The format of a symbolic +.I mode +is +.BR +-= [ aAcCdDeFijmPsStTux ]. +.PP +The operator +.RB ' + ' +causes the selected attributes to be added to the +existing attributes of the files; +.RB ' - ' +causes them to be removed; and +.RB ' = ' +causes them to be the only attributes that the files have. +.PP +The letters +.RB ' aAcCdDeFijmPsStTux ' +select the new attributes for the files: +append only +.RB ( a ), +no atime updates +.RB ( A ), +compressed +.RB ( c ), +no copy on write +.RB ( C ), +no dump +.RB ( d ), +synchronous directory updates +.RB ( D ), +extent format +.RB ( e ), +case-insensitive directory lookups +.RB ( F ), +immutable +.RB ( i ), +data journaling +.RB ( j ), +don't compress +.RB ( m ), +project hierarchy +.RB ( P ), +secure deletion +.RB ( s ), +synchronous updates +.RB ( S ), +no tail-merging +.RB ( t ), +top of directory hierarchy +.RB ( T ), +undeletable +.RB ( u ), +and direct access for files +.RB ( x ). +.PP +The following attributes are read-only, and may be listed by +.BR lsattr (1) +but not modified by chattr: +encrypted +.RB ( E ), +indexed directory +.RB ( I ), +inline data +.RB ( N ), +and verity +.RB ( V ). +.PP +Not all flags are supported or utilized by all file systems; refer to +file system-specific man pages such as +.BR btrfs (5), +.BR ext4 (5), +.BR mkfs.f2fs (8), +and +.BR xfs (5) +for more file system-specific details. +.SH OPTIONS +.TP +.B \-R +Recursively change attributes of directories and their contents. +.TP +.B \-V +Be verbose with chattr's output and print the program version. +.TP +.B \-f +Suppress most error messages. +.TP +.BI \-v " version" +Set the file's version/generation number. +.TP +.BI \-p " project" +Set the file's project number. +.SH ATTRIBUTES +.TP +.B a +A file with the 'a' attribute set can only be opened in append mode for +writing. Only the superuser or a process possessing the +CAP_LINUX_IMMUTABLE capability can set or clear this attribute. +.TP +.B A +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. +.TP +.B c +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. Note: please +make sure to read the bugs and limitations section at the end of this +document. (Note: For btrfs, If the 'c' flag is set, then the 'C' flag +cannot be set. Also conflicts with btrfs mount option 'nodatasum') +.TP +.B C +A file with the 'C' attribute set will not be subject to copy-on-write +updates. This flag is only supported on file systems which perform +copy-on-write. (Note: For btrfs, the 'C' flag should be +set on new or empty files. If it is set on a file which already has +data blocks, it is undefined when the blocks assigned to the file will +be fully stable. If the 'C' flag is set on a directory, it will have no +effect on the directory, but new files created in that directory will +have the No_COW attribute set. If the 'C' flag is set, then the 'c' flag +cannot be set.) +.TP +.B d +A file with the 'd' attribute set is not a candidate for backup when the +.BR dump (8) +program is run. +.TP +.B D +When a directory with the 'D' attribute set is modified, +the changes are written synchronously to the disk; this is equivalent to +the 'dirsync' mount option applied to a subset of the files. +.TP +.B e +The 'e' attribute indicates that the file is using extents for mapping +the blocks on disk. It may not be removed using +.BR chattr (1). +.TP +.B E +A file, directory, or symlink with the 'E' attribute set is encrypted by the +file system. This attribute may not be set or cleared using +.BR chattr (1), +although it can be displayed by +.BR lsattr (1). +.TP +.B F +A directory with the 'F' attribute set indicates that all the path +lookups inside that directory are made in a case-insensitive fashion. +This attribute can only be changed in empty directories on file systems +with the casefold feature enabled. +.TP +.B i +A file with the 'i' attribute cannot be modified: it cannot be deleted or +renamed, no link can be created to this file, most of the file's +metadata can not be modified, and the file can not be opened in write mode. +Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE +capability can set or clear this attribute. +.TP +.B I +The 'I' attribute is used by the htree code to indicate that a directory +is being indexed using hashed trees. It may not be set or cleared using +.BR chattr (1), +although it can be displayed by +.BR lsattr (1). +.TP +.B j +A file with the 'j' attribute has all of its data written to the ext3 or +ext4 journal before being written to the file itself, if the file system +is mounted with the "data=ordered" or "data=writeback" options and the +file system has a journal. When the file system 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. +.TP +.B m +A file with the 'm' attribute is excluded from compression on file +systems that support per-file compression. +.TP +.B N +A file with the 'N' attribute set indicates that the file has data +stored inline, within the inode itself. It may not be set or cleared +using +.BR chattr (1), +although it can be displayed by +.BR lsattr (1). +.TP +.B P +A directory with the 'P' attribute set will enforce a hierarchical +structure for project id's. This means that files and directories created +in the directory will inherit the project id of the directory, rename +operations are constrained so when a file or directory is moved into +another directory, that the project ids must match. In addition, a +hard link to file can only be created when the project id for the file +and the destination directory match. +.TP +.B s +When a file with the 's' attribute set is deleted, its blocks are zeroed +and written back to the disk. Note: please make sure to read the bugs +and limitations section at the end of this document. +.TP +.B S +When a file with the 'S' attribute set is modified, +the changes are written synchronously to the disk; this is equivalent to +the 'sync' mount option applied to a subset of the files. +.TP +.B t +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 file systems which +support tail-merging). This is necessary for applications such as LILO +which read the file system directly, and which don't understand tail-merged +files. Note: As of this writing, the ext2, ext3, and ext4 file systems do +not support tail-merging. +.TP +.B T +A directory with the 'T' attribute will be deemed to be the top of +directory hierarchies for the purposes of the Orlov block allocator. +This is a hint to the block allocator used by ext3 and ext4 that the +subdirectories under this directory are not related, and thus should be +spread apart for allocation purposes. For example it is a very good +idea to set the 'T' attribute on the /home directory, so that /home/john +and /home/mary are placed into separate block groups. For directories +where this attribute is not set, the Orlov block allocator will try to +group subdirectories closer together where possible. +.TP +.B u +When a file with the 'u' attribute set is deleted, its contents are +saved. This allows the user to ask for its undeletion. Note: please +make sure to read the bugs and limitations section at the end of this +document. +.TP +.B x +A file with the 'x' requests the use of direct access (dax) mode, if the +kernel supports DAX. This can be overridden by the 'dax=never' mount +option. For more information see the kernel documentation for dax: +<https://www.kernel.org/doc/html/latest/filesystems/dax.html>. +.IP +If the attribute is set on an existing directory, it will be inherited +by all files and subdirectories that are subsequently created in the +directory. If an existing directory has contained some files and +subdirectories, modifying the attribute on the parent directory doesn't +change the attributes on these files and subdirectories. +.TP +.B V +A file with the 'V' attribute set has fs-verity enabled. It cannot be +written to, and the file system will automatically verify all data read +from it against a cryptographic hash that covers the entire file's +contents, e.g. via a Merkle tree. This makes it possible to efficiently +authenticate the file. This attribute may not be set or cleared using +.BR chattr (1), +although it can be displayed by +.BR lsattr (1). +.PP +.SH AUTHOR +.B chattr +was written by Remy Card <Remy.Card@linux.org>. It is currently being +maintained by Theodore Ts'o <tytso@alum.mit.edu>. +.SH BUGS AND LIMITATIONS +The 'c', 's', and 'u' attributes are not honored +by the ext2, ext3, and ext4 file systems as implemented in the current +mainline Linux kernels. +Setting 'a' and 'i' attributes will not affect the ability to write +to already existing file descriptors. +.PP +The 'j' option is only useful for ext3 and ext4 file systems. +.PP +The 'D' option is only useful on Linux kernel 2.5.19 and later. +.SH AVAILABILITY +.B chattr +is part of the e2fsprogs package and is available from +http://e2fsprogs.sourceforge.net. +.SH SEE ALSO +.BR lsattr (1), +.BR btrfs (5), +.BR ext4 (5), +.BR mkfs.f2fs (8), +.BR xfs (5). |