[[ Дополнительные атрибуты файлов ]]

Дополнительные атрибуты файлов

В UNIX-системах, кроме стандартных прав доступа, существуют также дополнительные или специальные атрибуты файлов, которые поддерживает файловая система.

Список поддерживаемых атрибутов определяется самой файловой системой

С помощью утилиты chattr можно управлять атрибутами

Установить атрибут i на файл

chattr +i file.txt

Посмотреть текущие атрибуты можно командой lsattr

lsattr file.txt 

----i---------- file.txt

Перечень атрибутов:

  • A - (no atime updates) не изменять время последнего обращения, что может благоприятно повлиять на производительность файловой системы, если обращение происходит очень часто
  • a - (append only) в файл можно только дописывать, но нельзя удалять/переименовывать (удобно для логов). Если установлено на каталог, то находящиеся там файлы удалять нельзя, но можно создавать новые и модифицировать существующие
  • c - (compressed) производится прозрачное сжатие на диске информации файла ядром, а при доступе возвращаются несжатые данные
  • D - (synchronous directory updates) при модификации директории изменения синхронно записываются на диск
  • d - (no dump) игнорировать при создании резервной копии программой dump
  • i - (immutable) пожалуй самый используемый и полезный бит, который запрещает любые изменения файла (нельзя удалять, переименовывать и модифицировать файл). Для директории данный флаг позволяет модифицировать в ней файлы, но нельзя удалять или создавать новые
  • j - (data journalling) если файловая система смонтирована с параметрами «data=ordered» или «data=writeback», данные файла с этим атрибутом сохраняются сначала в журнал файловой системы, и только потом в файл. При монтировании с параметром «data=journal» данные и так сохраняются сначала в журнал, поэтому атрибут не действует. Этот атрибут может снять и установить только root
  • s - (secure deletion) полное удаление файла (место на диске, где он находился, после заполняется нулями)
  • S - (synchronous updates) прямая запись на диск, без кэширования (обновления в файла происходит на диске синхронно с приложением, изменяющим данный файл)
  • u - (undeletable) при удалении файла с таким атрибутом, его содержимое сохраняется, что позволяет успешно использовать инструменты для восстановления удаленных файлов
  • T - каталог с таким атрибутом считается расположенным на вершине иерархии директорий с целью использования метода распределения блоков по Orlov
  • t - к файлу с таким атрибутом нельзя присоединить в конец другой файл (tail-merging). На момент написания ext2 и ext3 не поддерживали (не считая очень экспериментальных патчей) tail-merging
  • E - показывает, что при сжатии файла были ошибки. Нельзя установить/снять с помощью chattr, можно лишь посмотреть командой lsattr.
  • e - показывает, что файл использует дополнения для размещения блоков на диске. Нельзя установить/снять с помощью chattr, можно лишь посмотреть командой lsattr
  • I - показывает, что каталог был проиндексирован при использовании htree. Нельзя установить/снять с помощью chattr, можно лишь посмотреть командой lsattr
  • H - показывает, что файл хранит свои блоки в единицах файловой системы, а не в единицах секторов, это означает, что файл имеет размер более 2TB (или когда-то занимал). Нельзя установить/снять с помощью chattr, можно лишь посмотреть командой lsattr
  • X - показывает, что к сжатому файлу можно получить прямой непосредственный доступ. Нельзя установить/снять с помощью chattr, можно лишь посмотреть командой lsattr
  • Z - показывает, что сжатый файл is dirty (?). Нельзя установить/снять с помощью chattr, можно лишь посмотреть командой lsattr

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
184 -0 = 
 
doc/linux_file_attributes.txt · Последнее изменение: 2022/08/31 14:53 — 127.0.0.1
Gentoo Linux Gentoo Linux Driven by DokuWiki