команда chattr в Linux с примерами
Команда chattr в Linux - это команда файловой системы, которая используется для изменения атрибутов файла в каталоге. Основное использование этой команды - сделать несколько файлов недоступными для изменения другими пользователями, кроме суперпользователя. Поскольку мы знаем, что Linux - это многопользовательская операционная система, существует вероятность того, что пользователь может удалить файл, который сильно беспокоит другого пользователя, говорит администратор. Чтобы избежать таких сценариев, Linux предоставляет chattr . Короче говоря, 'chattr' может сделать файл неизменяемым, не удаляемым, только добавляемым и многим другим!
Сводка:
chattr [-RVf] [-v версия] [режим] файлы ...
В начале строки режима должен стоять один из следующих операторов:
- ' + ': Добавление выбранных атрибутов к существующим атрибутам файлов.
- ' - ': вызывает удаление выбранных атрибутов.
- ' = ': Делает выбранные атрибуты единственными атрибутами файлов.
Формат символьного режима:
{+ | - | =} [aAcCdDeijsStTu]
Ниже приведен список общих атрибутов и связанных с ними флагов, которые можно установить / снять с помощью команды chattr:
- Набор: Запись Atime не обновляется.
- S set: изменения синхронно обновляются на диске.
- набор: Файл может быть открыт только в режиме добавления для записи.
- Я установил: файл не может быть изменен (неизменяемый), только суперпользователь может отключить атрибут.
- j set: Вся информация о файлах обновляется в журнале ext3 перед обновлением самого файла.
- t set: слияние хвостов не допускается.
- d set: больше нет кандидатов на резервное копирование при запуске процесса дампа.
- u set: когда такой файл удаляется, его данные сохраняются, позволяя пользователю запросить его восстановление.
Однако все вышеперечисленные команды не подходят для файлов и могут использоваться в каталогах (папках), а также для защиты каталога от удаления или любых других аналогичных происшествий. Однако при защите каталога предлагается использовать флаг -R 'для рекурсивной защиты всего содержимого в указанном каталоге.
Ниже приведены различные варианты команды chattr:
- -R : используется для рекурсивного отображения атрибутов списка каталогов и их содержимого.
- -V : отобразит версию программы.
- -a : используется для вывода списка всех файлов каталога, который также включает в себя, имя которого начинается с точки ('.').
- -d : эта опция отобразит каталоги как обычные файлы, а не их содержимое.
- -v : используется для отображения номера версии / поколения файла и т. д.
Use of chattr Command: The chattr’ can be used to preserve some system files that are very important and needs to remain in the host PC no matter what. Also to make a directory undeletable or unmodifiable for users other than superuser, this is necessary. The common use of ‘chattr’ is as below:-
- Making the file immutable: The command here made the file named
file.txt
immutable, hence now no operations are possible on this file until the attributes of the file are changed again. - Opening the file only in append mode: The flag a’ is used to open the file only in append mode. Consequently, it can only be appended and the previous data can’t be modified.
- Making directories secured: The flag +i’ can be used for a directory(as shown below) to make the directory immutable. Also, the flag -R’ is used here, which makes the call recursive and all the subfiles and directories are made immutable as well.
Note: lsattr
command is used to see the attributes of files in a directory. Here, it should be noted that the e flag in the file is previously set and it means that the file is using extents for mapping blocks on the disk. The extents are filesystem dependant. They are seldom removable.