Темы
Введение
Атрибуты chattr
Просмотр атрибутов lsattr
Особенности и предупреждения
Заключение
Введение
Утилита chattr (от change attributes) позволяет изменять дополнительные атрибуты файлов и директорий в Linux, которые не управляются стандартными правами (chmod, chown). Эти атрибуты обеспечивают дополнительный уровень контроля над файлами, например:
- Запрет изменения или удаления (immutable)
- Разрешение только дозаписи (append-only)
- Отключение обновления времени доступа (noatime)
Атрибуты 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)