Что такое дополнительные аттрибуты файлов (флаги)?
В UNIX-системах, кроме стандартных прав доступа, существуют также дополнительные или специальные атрибуты файлов (флаги), которые поддерживает файловая система.
В официальной документации по ext4 те атрибуты, о которых идет речь в этой заметке, называются флагами (flags).
Не путайте с расширенными атрибутами (extended attributes) — это несколько иная сущность. Дополнительные или специальные атрибуты файла (флаги) хранятся внутри inode.
Дополнительные или специальные атрибуты файла (флаги) определяют набор дополнительных параметров файлов.
Список наиболее часто используемых атрибутов (флагов):
- A — не обновлять время доступа к объекту. Теоретически установка этого атрибута должна повысить производительность файловой системы при работе с файлом.
- а — указывает, что в файл можно добавлять информацию, но нельзя удалять. Может быть установлен только суперпользователем.
- d — указывает на то, что не нужно делать резервные копии файла. Файл будет проигнорирован командой dump.
- i — указывает на то, что файл нельзя удалять и модифицировать, так же нельзя создать ссылку на файл. Может быть установлен только суперпользователем.
- s — указывает, что при удалении файла место где был размещен файл будет перезаписано нулями. Для невозможности восстановления после удаления.
- u — указывает на то, что при удалении файла его нужно куда-то сохранить. Наоборот, чтоб гарантировать возможность восстановления после удаления.
Посмотреть установленные атрибуты (флаги) можно коммандой:
lsattr <имя_файла>
Установить какой-либо атрибут (флаг) можно коммандой:
chattr +i <имя_файла>
Удалить установленный атрибут (флаг) можно коммандой:
chattr -i <имя_файла>