Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Как в Linux сделать файлы и каталоги неудаляемыми даже для root-а

Оригинал: How to Make File and Directory Undeletable, Even By Root in Linux
Автор: Aaron Kili
Дата публикации: 30 апреля 2024 г.
Перевод: В. Костромин
Дата перевода: 6 мая 2024 г.

В Unix-подобных операционных системах, включая Linux, root — это учетная запись или имя пользователя, которое по умолчанию может изменять все каталоги и файлы в системе.

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

В этой статье мы покажем вам, как сделать ваши файлы и каталоги в системе Linux недоступными для изменения даже самому могущественному пользователю.

Как в Linux сделать файл неудаляемым (даже для root-а)

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

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

Приведенная ниже команда делает файл /backups/passwd неизменяемым (и не подлежащим удалению). Это означает, что файл нельзя каким-либо образом изменить: его нельзя удалить или переименовать. На него даже ссылку создать нельзя и в файл нельзя также записать никакие данные.

Обратите внимание, что вам необходимо получить права суперпользователя, используя команду sudo, чтобы установить или удалить этот атрибут:

sudo chattr +i /backups/passwd
или
sudo chattr +i -V /backups/passwd
Делаем файл неудаляемым в Linux
Делаем файл неудаляемым в Linux

Чтобы просмотреть атрибуты файла, используйте команду lsattr, как показано ниже.

lsattr /backups/passwd 
Просмотр атрибутов файла Linux
Просмотр атрибутов файла Linux

Теперь попробуйте удалить неизменяемый файл как от имени обычного пользователя, так и от имени пользователя root, используя команду rm. Вы получите результат показанный на русунке.

rm /backups/passwd
sudo rm /backups/passwd
Результат попытки удаления неизменяемого файла в Linux
Результат попытки удаления неизменяемого файла в Linux

Как рекурсивно сделать каталог неудаляемым в Linux

Используя флаг -R, вы можете рекурсивно изменять атрибуты каталогов и их содержимое следующим образом:

sudo chattr +i -RV /backups/  
Делаем каталог неудаляемым в Linux
Делаем неудаляемым каталог в Linux

Чтобы снова сделать файл изменяемым, используйте опцию -i для удаления вышеуказанного атрибута:

sudo chattr -i /backups/ passwd

Больше информации вы найдёте в статье 5 ‘chattr’ Commands to Make Important Files IMMUTABLE (Unchangeable) in Linux

Вам также могут быть полезны следующие статьи по данной теме:

Заключение

Используя методы, описанные в этом руководстве, вы можете с помощью команды chattr защитить от случайного удаления (в том числе пользователем root) важные файлы и каталоги, что добавляет дополнительный уровень безопасности для ваших данных.


Фото автора
Аарон Кили — энтузиаст Linux и F.O.S.S, будущий системный администратор Linux, веб-разработчик, а в настоящее время создатель контента для TecMint, который любит работать с компьютерами и твердо верит в необходимость делиться знаниями.

В дополнение - пара статей на русском языке по теме с нашего сайта: