Добавить в корзинуПозвонить
Найти в Дзене

Linux. Дополнительные флаги в системе.

Кроме стандартных атрибутов файла, разрешающих запись, чтение и выполнение, в системах Linux существуют еще дополнительные флаги, значительно расширяющие режимы обработки файлов. Некоторые флаги разрешают только запись в файл, а другой наоборот сделать неизменяемым и неудаляемым. Для просмотра и изменения таких флагов используются команды lsattr и chattr. Первая команда используется для просмотра, установленных атрибутов, вторая для назначения. Давайте рассмотрим поближе, что же это за атрибуты такие. A - этот атрибут, запрещает обновление времени доступа. Использование в некоторых ситуациях может повысить производительность. a - Разрешить запись в файл только в режиме добавления. Данный параметр может быть установлен только суперпользователем. Удобно устанавливать на логи, чтобы никто не удалил записи из него. C - Запрещает обновление файла копированием. Удобно использовать для защиты файла от подмены каким-нибудь злоумышленником. с - данные записываемые в файл предварительно сж

Кроме стандартных атрибутов файла, разрешающих запись, чтение и выполнение, в системах Linux существуют еще дополнительные флаги, значительно расширяющие режимы обработки файлов. Некоторые флаги разрешают только запись в файл, а другой наоборот сделать неизменяемым и неудаляемым.

Для просмотра и изменения таких флагов используются команды lsattr и chattr. Первая команда используется для просмотра, установленных атрибутов, вторая для назначения.

Давайте рассмотрим поближе, что же это за атрибуты такие.

A - этот атрибут, запрещает обновление времени доступа. Использование в некоторых ситуациях может повысить производительность.

a - Разрешить запись в файл только в режиме добавления. Данный параметр может быть установлен только суперпользователем. Удобно устанавливать на логи, чтобы никто не удалил записи из него.

C - Запрещает обновление файла копированием. Удобно использовать для защиты файла от подмены каким-нибудь злоумышленником.

с - данные записываемые в файл предварительно сжимаются ядром. Используется для экономии места.

D - Работает только с каталогом, включает режим синхронной записи изменений каталога.

d - запрещает создание резервной копии файла. При использовании команды dump, такой файл будет игнорироваться.

e - использовать extent'ы блоков для хранения файла;

i - делает файл неизменяемым и неудаляемым. С одной стороны хорошо с помощью него защитить файл, а с другой стороны - это может повлиять на работу систем автоматизации, типа Puppet или Ansible.

j - ведение журнала для регистрации изменения данных. Все данные прежде чем записаться в файл сохраняются в журнал файловой системы. Используется только в том случае, если ФС смонтирована с опциями data=ordered, либо data=writeback. В случае, когда файловая система смонтирована с опцией data=journal, данный атрибут не имеет смысла, так как все файлы итак уже журналируется.

S - включить режим синхронной записи изменений. Изменения файлов с таким атрибутом будут сразу же записаны на диск, минуя буфиризацию.

X - отменяет сжатие данных при записи в файл, если этот режим включен по умолчанию.

u - содержимое этих файлов не будет удалено с диска при удалении файла. Такой файл после удаления можно будет восстановить с помощью специальных утилит.

Давайте, теперь рассмотрим пример использования атрибута i.

-2

Еще посмотрим, как работает параметр a.

-3

Ну а с остальными атрибутам попробуйте поэкспериментировать сами, я думаю у Вас все получится.😊

Кстати, необходимо учитывать еще одну особенность. При копировании файлов дополнительные флаги не сохраняются и на новом файле надо будет все установить заново.

Заключение

Дополнительные флаги, довольно таки удобный инструмент, позволяющий защитить файлы от случайного удаления или перезаписи. Но такой способ не защитит Вас от того, кто мог получить права суперпользователя и в состоянии ввести команду chattr. Для дополнительной защиты, кстати можно ограничить запуск самой команды chattr, но это уже совсем другая история.

А в целом, сегодня познакомились с командами chattr и lsattr. Теперь будете знать, что еще можно проверить, если файл вдруг ведет себя очень странно. На это все. До новых встреч.

P. S.: Не забывайте подписываться на мой канал, для этого надо нажать клавишу ниже с надписью "подписаться". Вам мелочь, а мне приятно. Ну и всегда открыт к обсуждению и обменом опыта, так что про комментарии тоже не забывайте.