Главные темы ► linux ► shell ► chattr ► Команда chattr и lsattr в Linux
Теги: shell chattr lsattr

Команда chattr и lsattr в Linux

Команда chattr и lsattr в Linux

    Общие сведения

    Команда chattr поможет защитить файлы от перезаписи, перемещения, удаления, независимо от стандартных атрибутов rwx. Команды chown и chmod могут ограничить эти действия только для обычных пользователей, но не для пользователя root

    chattr

    Для chattr опции и атрибуты:
    -R - рекрусивная обработка каталогов
    + - включить атрибуты;
    - - отключить атрибуты;
    = - оставить значение атрибута как было у файла
    a - файл может быть открыт только в режиме добавления;
    A - не обновлять время перезаписи;
    c - автоматически сжимать при записи;
    C - отключить копирование при записи;
    D - работает только для папки, когда установлен, все изменения синхронно записываются на диск сразу же;
    e - использовать extent'ы блоков для хранения файла;
    i - сделать неизменяемым;
    j - все данные перед записью в файл будут записаны в журнал;
    s - безопасное удаление с последующей перезаписью нулями;
    S - синхронное обновление, изменения файлов с этим атрибутом будут сразу же записаны на диск;
    t - файлы с этим атрибутом не будут хранится в отдельных блоках;
    u - содержимое файлов с этим атрибутом не будет удалено при удалении самого файла и потом может быть восстановлено.
    Источник: https://losst.pro/neizmenyaemye-fajly-v-linux
    Сделать файл неизменяемым:

    ~$ sudo chattr +i doc1 [sudo] пароль для toly: ~$ lsattr doc1 ----i---------e----- doc1 lsattr doc.txt --------------e----- doc1 ~$ ls -la doc1 -rw-rw-r-- 1 toly toly 262477 окт 6 19:31 doc1 ~$ echo 'изменение' > doc1 -bash: doc1: Операция не позволена ~$ sudo echo 'изменение' > doc1 -bash: doc1: Операция не позволена

    Ограничение снимается с помощью -(минус) i (ограничение)

    sudo chattr -i doc1 :~$ sudo echo 'изменение' > doc1

    Еще один полезный пример, где опция -a позволяет добавлять запись в файл, но не перезаписывать уже существующую информацию:

    sudo chattr +a doc1 toly@mega:~$ sudo echo 'изменение' > doc1 -bash: doc1: Операция не позволена toly@mega:~$ sudo echo 'изменение' >> doc1 toly@mega:~$ cat doc1 изменение изменение

    Злонамерное использование утилиты вирусным кодом (фрагмент):

    chattr -i -a /etc/cron.d/root /etc/cron.d/apache /var/spool/cron/root /var/spool/cron/crontabs/root /etc/cron.hourly/oanacroner1 /etc/init.d/down

    Источник фрагмента: https://hackware.ru/?p=17007

    lsattr

    Чтобы посмотреть ограничения команды chattr используется команда lsattr
    Синтаксис:
    lsattr [ -RVadlpv ] [ files... ]
    Значения букв в выводе команды lsattr:
    a - только добавление
    A - никаких обновлений
    c - сжатый
    С - без копирования при записи
    d - без дампа
    D - синхронные обновления каталогов
    e - расширенный формат
    i - неизменяемый
    j - журналирование данных
    P - иерархия проектов
    s - безопасное удаление
    S - синхронные обновления
    t - без объединения
    T - корневой каталог
    u - неудаляемый
    E - зашифровано
    I - индексированный каталог
    N - встроенные данные
    lsattr может работать с каталогами рекурсивно с помощью опции -R
    Чтобы lsattr читал каталог как файл, можно добавить опцию -d


    Источники
    Последнее изменение: October 10, 2024 03:59


    Редактировать


    test

    2025-12-31 23:09:00 Редактировать

    test

    2025-12-31 23:10:00 Редактировать

    Я буду рекламой
    Я тоже буду рекламой
    И я
    ВВЕРХ
    Loading…
    Loading the web debug toolbar…
    Attempt #