Страница 1 из 1

Атрибуты chattr.

СообщениеДобавлено: 05 июл 2025, 10:30
ROOT
Оглавление


Темы
 Введение 
 Атрибуты chattr 
 Просмотр атрибутов lsattr 
 Особенности и предупреждения 
 Заключение 


 Введение 
Утилита chattr (от change attributes) позволяет изменять дополнительные атрибуты файлов и директорий в Linux, которые не управляются стандартными правами (chmod, chown). Эти атрибуты обеспечивают дополнительный уровень контроля над файлами, например:
  • Запрет изменения или удаления (immutable)
  • Разрешение только дозаписи (append-only)
  • Отключение обновления времени доступа (noatime)
chattr работает на уровне файловой системы (ext2/3/4, btrfs, xfs и др.), поэтому некоторые атрибуты могут быть недоступны в зависимости от ФС.

 Атрибуты chattr 
  • A – Не обновлять время доступа (atime)
  • a – Только дозапись (append-only)
  • c – Сжатие (compress)
  • C – Нет копирования при записи (no CoW)
  • d – Исключить из дампов (no dump)
  • D – Синхронное обновление директории
  • e – Extent-формат (для ext4)
  • E – Шифрование (encrypted)
  • F – Синхронное обновление директории (как D, но для поддиректорий)
  • i – Неизменяемость (immutable)
  • I – Индексирование директории (для btrfs)
  • j – Журналирование данных (ext3/ext4)
  • m – Отключение сжатия (no compression)
  • N – Встроенный inode (inline data)
  • P – Проект (для проектного квотирования)
  • s – Безопасное удаление (secure delete)
  • S – Синхронные изменения (sync)
  • t – Без хвостов слияния (no tail-merging)
  • T – Top of directory hierarchy
  • u – Восстановление при удалении (undeletable)
  • x – Прямой доступ (direct access)

Примеры:
Код: выделить все
chattr +i file.txt  # Запретить любые изменения 
chattr +a /var/log/auth.log  # Можно только добавлять данные
chattr +d backup.tar.gz  # Исключить файл из резервных копий
chattr +A myfile.txt  # Отключить обновление atime

Флаг с "-" снимает установленный атрибут. Список атрибутов может отличаться в зависимости от ФС (ext2/3/4, btrfs, xfs и др.).

 Просмотр атрибутов (lsattr) 
Чтобы посмотреть текущие атрибуты, используйте lsattr:
Код: выделить все
lsattr /etc/passwd 
----i--------- /etc/passwd 

Здесь i означает, что файл неизменяемый.

 Особенности и предупреждения 
  • Требуются права root – Большинство атрибутов (i, a, s) можно установить только от имени суперпользователя.
  • Файловая система – Некоторые атрибуты (C, c, e) работают только в определённых ФС (ext4, btrfs).
  • Не защищает от live-CD – Атрибуты действуют только в работающей системе, но не предотвращают изменение файлов при загрузке с Live-USB.

 Заключение 
chattr – мощный инструмент для управления дополнительными атрибутами файлов в Linux. Основные применения:
  • Защита критических файлов (+i)
  • Обеспечение журналирования (+a)
  • Оптимизация производительности (+A, +e)
Перед использованием проверяйте поддержку атрибутов в вашей файловой системе (man chattr).