Chattr

chattr — команда, изменяющая атрибуты файлов на файловых системах ext2fs, ext3, ext4 и частично на других файловых системах Linux.

## Содержание

* 1 Синтаксис
* 2 Описание
* 3 См. также
* 4 Ссылки

## Синтаксис

[править | править код]

* `chattr [ -RV ] [ -v версия ] [ атрибуты ] файлы…`

-R | Рекурсивно изменять атрибуты каталогов и их содержимого. Все найденные символические ссылки будут игнорироваться

|

-V | Выводит более полную выводимую информацию и версию программы chattr
-f | Отключить вывод большинства ошибок
-p проект | Установить номер проекта
-v версия | Установить номер версии/генерации файла

## Описание

[править | править код]

chattr изменяет атрибуты файлов на файловой системе в ОС на ядре Linux.

Формат символьного режима: `+-=[ASacDdIijsTtu]`.

Оператор «+» обозначает добавление указанных атрибутов к существующим; «-» обозначает их снятие; «=» обозначает установку только этих атрибутов файлам.

Символы «ASacDdijsu» указывают на новые атрибуты файлов:

Атрибут | Что означает | Условия смены атрибута

|
|

a | append only. Файл может быть открыт только в режиме дозаписи | Только superuser или процесс с опцией CAP_LINUX_IMMUTABLE
A | no atime updates. Не обновлять поле atime (время последнего доступа) файла. Уменьшает количество операций записи на устройство |
c | compressed. Файл записан на диск с использованием сжатия |
C | no copy-on-write. Отключение режима Copy-on-write для указанного файла. Поддерживается только в файловых системах с CoW (Btrfs и др.) |
d | no dump. Отключает создание архивной копии файла программой dump |
D | synchronous directory updates. Включает синхронную запись изменений в данном каталоге. Это эквивалентно опции dirsync при монтировании файловой системы |
e | extent format. Включает использование extent при выделении места на устройстве | Атрибут не может быть отключен с помощью chattr
E | Атрибут экспериментальных методов сжатия | Атрибут не может быть установлен или снят с помощью chattr
h | Атрибут указывает, что файл хранит свои блоки в единицах размера блока файловой системы, а не в единицах секторов, и означает, что его размер больше 2 ТБ (или когда-то был). | Атрибут не может быть установлен или снят с помощью chattr
i | immutable. Указывает, что файл защищен от изменений: не может быть удален или переименован, никакая ссылка (жесткая) не может быть создана на этот файл, никакие данные не могут быть записаны в файл. | Только superuser или процесс с опцией CAP_LINUX_IMMUTABLE
I | Указывает что указанный каталог проиндексирован с помощью хеш-дерева | Атрибут не может быть установлен или снят с помощью chattr
j | data journalling. Все данные файла перед записью будут полностью записаны в журнал ext3/ext4, несмотря на опции монтирования «data=ordered» или «data=writeback». В режиме «data=journal» бессмыслен | Только superuser или процесс с опцией CAP_SYS_RESOURCE
N | Файл с установленным атрибутом «N» указывает на то, что в файле есть данные, хранящиеся внутри самого inode. | Атрибут не может быть установлен или снят с помощью chattr
P | project hierarchy. Указывает, что каталог с вложенными файлами является иерархической структурой проекта. |
s | secure deletion. Атрибут защищенного удаления файла, перед удалением все содержимое файла полностью затирается «00» |
S | synchronous updates. Атрибут синхронной записи для данного файла, аналогичен опции монтирования «sync» файловой системы |
t | no tail-merging. Отключает метод tail-merging для файла. |
T | top of directory hierarchy. Указывает что каталог является головой иерархии каталогов. |
u | undeletable. Указывает системе, что при удалении файла его содержимое должно быть сохранено с возможностью дальнейшего восстановления |
X | Атрибут экспериментальных методов сжатия | Атрибут не может быть установлен или снят с помощью chattr
Z | Атрибут экспериментальных методов сжатия | Атрибут не может быть установлен или снят с помощью chattr

chattr является частью пакета e2fsprogs, получить его можно с адреса e2fsprogs.sourceforge.net.

## См. также

[править | править код]

* chown — изменение владельца и группы файла(ов)
* chmod — изменение прав доступа к файлам

## Ссылки

[править | править код]

* `chattr(1)` — страница справки man по пользовательским командам GNU/Linux на сайте OpenNet  (рус.)
* `chattr(1)` — страница справки man по пользовательским командам GNU/Linux (англ.)
* `chflags(1)` — страница справки man по пользовательским командам OpenBSD (англ.)
* `chflags(1)` — страница справки man по пользовательским командам FreeBSD (англ.)

Команды Unix

Утилиты POSIX.1-2008

* admin
* alias
* ar
* asa
* at
* awk
* basename
* batch
* bc
* bg
* c99
* cal
* cat
* cd
* cflow
* chgrp
* chmod
* chown
* cksum
* cmp
* comm
* command
* compress
* cp
* crontab
* csplit
* ctags
* cut
* cxref
* date
* dd
* delta
* df
* diff
* dirname
* du
* echo
* ed
* env
* ex
* expand
* expr
* false
* fc
* fg
* file
* find
* fold
* fort77
* fuser
* gencat
* get
* getconf
* getopts
* grep
* hash
* head
* iconv
* id
* ipcrm
* ipcs
* jobs
* join
* kill
* lex
* link
* ln
* locale
* localedef
* logger
* logname
* lp
* ls
* m4
* mailx
* make
* man
* mesg
* mkdir
* mkfifo
* more
* mv
* newgrp
* nice
* nl
* nm
* nohup
* od
* paste
* patch
* pathchk
* pax
* pr
* printf
* prs
* ps
* pwd
* qalter
* qdel
* qhold
* qmove
* qmsg
* qrerun
* qrls
* qselect
* qsig
* qstat
* qsub
* read
* renice
* rm
* rmdel
* rmdir
* sact
* sccs
* sed
* sh
* sleep
* sort
* split
* strings
* strip
* stty
* tabs
* tail
* talk
* tee
* test
* time
* touch
* tput
* tr
* true
* tsort
* tty
* type
* ulimit
* umask
* unalias
* uname
* uncompress
* unexpand
* unget
* uniq
* unlink
* uucp
* uudecode
* uuencode
* uustat
* uux
* val
* vi
* wait
* wc
* what
* who
* write
* xargs
* yacc
* zcat

GNU Coreutils

Файловые утилиты|

* chgrp
* chown
* chmod
* cp
* dd
* df
* dir
* dircolors
* install
* ln
* ls
* mkdir
* mkfifo
* mknod[англ.]
* mv
* rm
* rmdir
* shred
* sync
* touch
* vdir

Текстовые утилиты|

* cat
* cksum
* comm
* csplit
* cut
* expand
* fmt
* fold
* head
* join
* md5sum
* nl
* od
* paste
* ptx[англ.]
* pr
* sha1sum
* sort
* split
* sum
* tac
* tail
* tr
* tsort[англ.]
* unexpand
* uniq
* wc

Shell-утилиты|

* basename
* chroot
* date
* dirname
* du
* echo
* env
* expr
* factor[англ.]
* false
* groups[англ.]
* hostid
* id
* link
* logname
* nice
* nohup
* pathchk
* pinky
* printenv[англ.]
* printf
* pwd
* readlink
* seq
* sleep
* stat
* stty
* tee
* test
* true
* tty
* uname
* unlink
* users
* who
* whoami
* yes

другие утилиты|

* size
* Start-stop-daemon
* Surfraw