Изменение атрибутов файлов с помощью chattr в Linux

Изменение атрибутов файлов с помощью chattr в Linux

Рубрики:

Linux, Утилиты Linux

Метки:

chattr, linux, lsattr

Команда chattr (от англ. Change Attribute) предназначена для изменения атрибутов файла или каталога в файловых системах ext2, ext3 или ext4 в Linux. Обычно эта команда используется с правами root, поскольку она позволяет вносить изменения в системные файлы и каталоги.

В этой статье мы покажем 5 примеров использования утилиты chattr в Linux.

Содержание:

  1. Синтаксис команды chattr
  2. Сделайте файл неизменяемым
  3. Удалите атрибут файла с помощью chattr
  4. Запретите создавать новые учетные записи пользователей с помощью chattr
  5. Разрешите только добавлять новую информацию в файл
  6. Установите или удалите один атрибут для всего содержимого каталога
  7. Выводы

Синтаксис команды chattr

Синтаксис команды chattr имеет следующий вид:

 

Где:

  • [options] — необязательные опции, изменяющие поведение команды;
  • attribute — один или несколько атрибутов, которые необходимо установить или снять с файла;
  • [filename] — название файла или директории.

Наиболее часто пользователи работают со следующими атрибутами файлов:

  • i — делает файл неизменяемым;
  • a — разрешает только добавлять новую информацию в файл;
  • s — гарантирует, что изменения в файле будут немедленно записаны на диск;
  • A — предотвращает обновление времени доступа к файлу (atime) при его чтении.

Для изменения атрибутов файла используются специальные операторы:

  • + — добавляет атрибут;
  • - — удаляет атрибут;
  • = — сохраняет существующие атрибуты файлов.

Сделайте файл неизменяемым

Представим, что у нас в файловой системе есть документ sample.txt, в котором записана важная информация. Нам нужно защитить этот файл от каких-либо изменений. Для этого установим для него атрибут i:

 

Чтобы убедиться в том, что мы действительно установили этот атрибут, выполним команду:

 

i option

Читайте также: Управление пользователями и группами, разрешениями, атрибутами файлов и включение доступа sudo к учетным записям — LFCS часть 8.

Теперь при попытке удаления, переименования, изменения прав доступа или других действий над этим файлом операционная система будет выводить на экран ошибку Operation not permitted:

 

operations with immutable

 

Удалите атрибут файла с помощью chattr

Допустим, нам по каким-то причинам требуется изменить файл sample.txt. Для этого сперва нужно удалить атрибут i, используя следующую команду с оператором -:

 

Убедимся, что мы действительно удалили этот атрибут:

 

Если попробовать удалить файл sample.txt, то операционная система позволит это сделать:

 

unset i

Запретите создавать новые учетные записи пользователей с помощью chattr

Для создания учетных записей в ОС Linux используется команда useradd. Она работает с системными файлами /etc/passwd и /etc/shadow. Если мы сделаем эти файлы неизменяемыми, то, по сути, ограничим функционал утилиты useradd, и она больше не сможет добавлять новых пользователей. Например:

 

При попытке создать новую учетную запись пользователя утилита выдаст ошибку cannot open /etc/passwd:

 

immutable shadow

Читайте также: Курс LFCS — часть 3: архивирование, поиск и настройка атрибутов файлов.

Разрешите только добавлять новую информацию в файл

Допустим, нам нужно разрешить добавлять новые данные в файл sample.txt, но при этом запретить изменять уже существующую информацию. Чтобы решить такую задачу, установим для документа атрибут a:

 

only append

Для примера сначала попробуем перезаписать файл sample.txt, а потом добавить в конец новую информацию:

 

operations with append only

Как видно на скриншоте выше, ОС разрешила выполнить только вторую операцию.

Установите или удалите один атрибут для всего содержимого каталога

Бывают ситуации, когда нужно удалить или установить один атрибут для всех файлов и папок в одном каталоге. Для решения этой проблемы у команды chattr существует параметр -R. Для примера защитим все содержимое директории Documents от изменения:

 

Чтобы удалить атрибут i со всех файлов и папок каталога Documents, выполним следующую команду:

 

secure dir

Выводы

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

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, Утилиты Linux

Метки:

chattr, linux, lsattr

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики