]> git.ipfire.org Git - thirdparty/e2fsprogs.git/blame - misc/chattr.1.in
debian: add Vcs-* fields to debian packaging
[thirdparty/e2fsprogs.git] / misc / chattr.1.in
CommitLineData
3839e657 1.\" -*- nroff -*-
74becf3c 2.TH CHATTR 1 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
3839e657 3.SH NAME
4f858546 4chattr \- change file attributes on a Linux file system
3839e657
TT
5.SH SYNOPSIS
6.B chattr
7[
e68594d2 8.B \-RVf
3839e657
TT
9]
10[
caf8ce4c
TT
11.B \-v
12.I version
3839e657
TT
13]
14[
3627e838
LX
15.B \-p
16.I project
17]
18[
caf8ce4c 19.I mode
3839e657
TT
20]
21.I files...
22.SH DESCRIPTION
23.B chattr
4f858546 24changes the file attributes on a Linux file system.
3839e657 25.PP
4825daeb 26The format of a symbolic mode is +-=[aAcCdDeijPsStTu].
3839e657 27.PP
272258e1 28The operator '+' causes the selected attributes to be added to the
a93a4c72
TT
29existing attributes of the files; '-' causes them to be removed; and '='
30causes them to be the only attributes that the files have.
3839e657 31.PP
75dd3c47 32The letters 'aAcCdDeijPsStTu' select the new attributes for the files:
5b9aaae7
ES
33append only (a),
34no atime updates (A),
35compressed (c),
36no copy on write (C),
37no dump (d),
38synchronous directory updates (D),
39extent format (e),
40immutable (i),
41data journalling (j),
bc8f1ae5 42project hierarchy (P),
5b9aaae7
ES
43secure deletion (s),
44synchronous updates (S),
45no tail-merging (t),
46top of directory hierarchy (T),
47and undeletable (u).
312c2a40
ES
48.PP
49The following attributes are read-only, and may be listed by
50.BR lsattr (1)
5b9aaae7 51but not modified by chattr:
4825daeb 52encrypted (E),
5b9aaae7 53indexed directory (I),
4825daeb 54and inline data (N).
272258e1
ES
55.PP
56Not all flags are supported or utilized by all filesystems; refer to
57filesystem-specific man pages such as
58.BR btrfs (5),
59.BR ext4 (5),
60and
61.BR xfs (5)
62for more filesystem-specific details.
3839e657
TT
63.SH OPTIONS
64.TP
caf8ce4c 65.B \-R
3839e657
TT
66Recursively change attributes of directories and their contents.
67.TP
caf8ce4c 68.B \-V
a88fa0c0 69Be verbose with chattr's output and print the program version.
3839e657 70.TP
e68594d2
TT
71.B \-f
72Suppress most error messages.
73.TP
caf8ce4c 74.BI \-v " version"
e1a0a3e3 75Set the file's version/generation number.
3627e838
LX
76.TP
77.BI \-p " project"
78Set the file's project number.
f3db3566 79.SH ATTRIBUTES
272258e1 80A file with the 'a' attribute set can only be open in append mode for writing.
0796e660 81Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE
51f8f8d2 82capability can set or clear this attribute.
a789d840 83.PP
5b9aaae7
ES
84When a file with the 'A' attribute set is accessed, its atime record is
85not modified. This avoids a certain amount of disk I/O for laptop
86systems.
87.PP
272258e1 88A file with the 'c' attribute set is automatically compressed on the disk
51f8f8d2 89by the kernel. A read from this file returns uncompressed data. A write to
0796e660 90this file compresses data before storing them on the disk. Note: please
1aa3d56a
TT
91make sure to read the bugs and limitations section at the end of this
92document.
a789d840 93.PP
0796e660
TT
94A file with the 'C' attribute set will not be subject to copy-on-write
95updates. This flag is only supported on file systems which perform
96copy-on-write. (Note: For btrfs, the 'C' flag should be
97set on new or empty files. If it is set on a file which already has
98data blocks, it is undefined when the blocks assigned to the file will
99be fully stable. If the 'C' flag is set on a directory, it will have no
100effect on the directory, but new files created in that directory will
5cb290e2 101have the No_COW attribute set.)
0796e660 102.PP
272258e1 103A file with the 'd' attribute set is not candidate for backup when the
f3db3566
TT
104.BR dump (8)
105program is run.
a789d840 106.PP
272258e1 107When a directory with the 'D' attribute set is modified,
5b9aaae7 108the changes are written synchronously on the disk; this is equivalent to
272258e1 109the 'dirsync' mount option applied to a subset of the files.
023d111e 110.PP
a5e14ead 111The 'e' attribute indicates that the file is using extents for mapping
7c8da6e3
AK
112the blocks on disk. It may not be removed using
113.BR chattr (1).
a5e14ead 114.PP
22f22ab1
TT
115The 'E' attribute is used by the experimental encryption patches to
116indicate that the file has been encrypted. It may not be
5b9aaae7 117set or reset using
51f8f8d2
TT
118.BR chattr (1),
119although it can be displayed by
120.BR lsattr (1).
121.PP
272258e1 122A file with the 'i' attribute cannot be modified: it cannot be deleted or
f3db3566 123renamed, no link can be created to this file and no data can be written
77be4d2d 124to the file. Only the superuser or a process possessing the
51f8f8d2 125CAP_LINUX_IMMUTABLE capability can set or clear this attribute.
a789d840 126.PP
5b9aaae7
ES
127The 'I' attribute is used by the htree code to indicate that a directory
128is being indexed using hashed trees. It may not be set or reset using
129.BR chattr (1),
130although it can be displayed by
131.BR lsattr (1).
132.PP
272258e1 133A file with the 'j' attribute has all of its data written to the ext3
c7c37754
ZL
134or ext4 journal before being written to the file itself, if the filesystem
135is mounted with the "data=ordered" or "data=writeback" options. When the
77be4d2d 136filesystem is mounted with the "data=journal" option all file data
0796e660
TT
137is already journalled and this attribute has no effect. Only
138the superuser or a process possessing the CAP_SYS_RESOURCE
51f8f8d2 139capability can set or clear this attribute.
9a718849 140.PP
272258e1
ES
141A file with the 'N' attribute set indicates that the file has data
142stored inline, within the inode itself. It may not be set or reset using
143.BR chattr (1),
144although it can be displayed by
145.BR lsattr (1).
146.PP
bc8f1ae5
TT
147A directory with the 'P' attribute set will enforce a hierarchical
148structure for project id's. This means that files and directory created
ce20096f 149in the directory will inherit the project id of the directory, rename
bc8f1ae5
TT
150operations are constrained so when a file or directory is moved into
151another directory, that the project id's much match. In addition, a
152hard link to file can only be created when the project id for the file
153and the destination directory match.
154.PP
272258e1 155When a file with the 's' attribute set is deleted, its blocks are zeroed
1aa3d56a
TT
156and written back to the disk. Note: please make sure to read the bugs
157and limitations section at the end of this document.
a789d840 158.PP
272258e1 159When a file with the 'S' attribute set is modified,
f3db3566 160the changes are written synchronously on the disk; this is equivalent to
272258e1 161the 'sync' mount option applied to a subset of the files.
a789d840 162.PP
5b9aaae7
ES
163A file with the 't' attribute will not have a partial block fragment at
164the end of the file merged with other files (for those filesystems which
165support tail-merging). This is necessary for applications such as LILO
166which read the filesystem directly, and which don't understand tail-merged
167files. Note: As of this writing, the ext2 or ext3 filesystems do not
168(yet, except in very experimental patches) support tail-merging.
169.PP
0796e660 170A directory with the 'T' attribute will be deemed to be the top of
27c3e539
TT
171directory hierarchies for the purposes of the Orlov block allocator.
172This is a hint to the block allocator used by ext3 and ext4 that the
173subdirectories under this directory are not related, and thus should be
174spread apart for allocation purposes. For example it is a very good
175idea to set the 'T' attribute on the /home directory, so that /home/john
176and /home/mary are placed into separate block groups. For directories
177where this attribute is not set, the Orlov block allocator will try to
1384cc64 178group subdirectories closer together where possible.
15f9011a 179.PP
272258e1 180When a file with the 'u' attribute set is deleted, its contents are
1aa3d56a
TT
181saved. This allows the user to ask for its undeletion. Note: please
182make sure to read the bugs and limitations section at the end of this
183document.
a789d840 184.PP
3839e657
TT
185.SH AUTHOR
186.B chattr
2e5a1b9e
TT
187was written by Remy Card <Remy.Card@linux.org>. It is currently being
188maintained by Theodore Ts'o <tytso@alum.mit.edu>.
3839e657 189.SH BUGS AND LIMITATIONS
272258e1 190The 'c', 's', and 'u' attributes are not honored
25399080
TT
191by the ext2, ext3, and ext4 filesystems as implemented in the current
192mainline Linux kernels.
3839e657 193.PP
272258e1 194The 'j' option is only useful if the filesystem is mounted as ext3 or ext4.
88372d5c 195.PP
272258e1 196The 'D' option is only useful on Linux kernel 2.5.19 and later.
3839e657
TT
197.SH AVAILABILITY
198.B chattr
6d56d51a
TT
199is part of the e2fsprogs package and is available from
200http://e2fsprogs.sourceforge.net.
3839e657 201.SH SEE ALSO
272258e1
ES
202.BR lsattr (1),
203.BR btrfs (5),
204.BR ext4 (5),
205.BR xfs (5).