Команда 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


    Источники
    Последнее изменение: 10.10.2024 03:59


    Связанные темы

    Команда exec linux

    Использование команды tee в Linux

    Поиск уязвимостей и следов взлома в Linux

    Язык shell в Linux

    Библиотеки Linux

    Использование md5sum

    Использование wget и curl в Linux

    Использование awk Linux Alpine

    Использование sed в Linux

    Применение getopt в Linux

    Переменные окружения в Linux

    Блокировка пользователя в Linux

    Классы символов в Linux

    Использование tar в Linux

    Подстановка имен файлов

    Проверка на необходимость перезапуска после обновления пакетов

    Стандартные потоки и перенаправление ввода/вывода в Linux

    Функции в языке Shell

    Использование grep в Linux

    Архивирование и сжатие файлов в Linux

    Использование find Linux

    Права пользователей и групп

    Полезные команды и скрипты Linux

    Переменные в Linux

    Условная конструкция if в Linux

    Использование grep в Linux

    Использование xargs в Linux

    Фигурные скобки в bash

    Циклы в языке shell

    Использование оператора select в языке shell

    Внутренние и внешние команды linux

    Использование конструкции case в Linux

    Подстановка команд в Linux

    Мониторинг системы Linix с помощью getconf

    Использование ANCI последовательностей в Linux

    Здесь пока нет комментариев
    Добавлять комментарии могут только авторизованные пользователи

    Авторизоваться
    Я буду рекламой
    Я тоже буду рекламой
    И я
    ВВЕРХ