1
января
1

Атрибуты файлов в Linux



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

В файловой системе Linux ext2(/3/4) управление происходит с помощью команды chattr, которая имеет схожий синтаксис с командой изменения прав доступа chmod:

chattr [-RV] [+-=AacDdijsSu] [-v version] files... 

-R – рекурсивное измение каталогов и их содержимого;
-V – более подробный вывод;
+-=[AacDdijsSu] – указывает какие дополнительные атрибуты (биты) должны быть добавлены (+), сняты (-) или только точно установлены (=).


Описание самих атрибутов:

A (no atime updates) — не изменять время последнего обращения, что может благоприятно повлиять на производительность файловой системы, если обращение происходит очень часто;

a (append only) — в файл можно только дописывать (дополнять), но нельзя удалять/переименовывать (удобно для логов). Если установлено на каталог, то находящиеся там файлы удалять нельзя, но можно создавать новые и модифицировать существующие;

c (compressed) — производится прозрачное сжатие на диске информации файла ядром, а при доступе возвращаются несжатые данные;

D (synchronous directory updates) — при модификации директории изменения синхронно записываются на диск;

d (no dump) — игнорировать при создании резервной копии программой dump;

i (immutable) — пожалуй самый используемый и полезный бит, который запрещает любые изменения файла (нельзя удалять, переименовывать и модифицировать файл). Для директории данный флаг позволяет модифицировать в ней файлы, но нельзя удалять или создавать новые;

j (data journalling) — журналирование данных файла;

s (secure deletion) — полное удаление файла (место на диске, где он находился, после заполняется нулями);

S (synchronous updates) — прямая запись на диск, без кэширования (обновления в файла происходит на диске синхронно с приложением, изменяющим данный файл);

u (undeletable) — после удаления файла, его содержимое сохраняется, т.е. есть возможнось восстановить такой файл в будущем.

Для просмотра какими из вышеописанных атрибутов обладает файл используется команда lsattr, которая также содержится в пакете e2fsprogs.

Примеры использования:
установить флаги append-only и immutable, удообно если изредка в файла нужно что-то дописывать и при этом его невозможно было удалить, что достигается снятием и установкой флага immutable к уже имеющемуся append-only:

chattr +ai «file.txt»

снять флаг immutable:

chattr -i «file.txt»

вывод для всех директорий и файлов:

lsattr -a «dir»

вывод только для имеющихся директорий:

lsattr -d «dir»

Прочитать про флаги файлов в Freebsd вы можете в следующей статье.

Понравилась статья?
Подписаться на RSS feed
Один комментарий:
  1. powered by leo 3 апреля, 2011

    Данный материал использован в статье «Права, пользователи и прочее в Linux», ссылка с сайта maxidrom.net/archives/469.

Оставить комментарий