Библиотека сайта 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
Чтобы просмотреть атрибуты файла, используйте команду lsattr, как показано ниже.
lsattr /backups/passwd
Теперь попробуйте удалить неизменяемый файл как от имени обычного пользователя, так и от имени пользователя root, используя команду rm. Вы получите результат показанный на русунке.
rm /backups/passwd sudo rm /backups/passwd
Как рекурсивно сделать каталог неудаляемым в Linux
Используя флаг -R
, вы можете рекурсивно изменять атрибуты каталогов и их содержимое следующим образом:
sudo chattr +i -RV /backups/
Чтобы снова сделать файл изменяемым, используйте опцию -i
для удаления вышеуказанного атрибута:
sudo chattr -i /backups/ passwd
Больше информации вы найдёте в статье 5 ‘chattr’ Commands to Make Important Files IMMUTABLE (Unchangeable) in Linux
Вам также могут быть полезны следующие статьи по данной теме:
- How to Manage Users and Groups in Linux
- Managing Users & Groups and Enabling sudo Access to Users
- How to Find Files With SUID and SGID Permissions in Linux
- Translate rwx Permissions into Octal Format in Linux
Заключение
Используя методы, описанные в этом руководстве, вы можете с помощью команды chattr защитить от случайного удаления (в том числе пользователем root) важные файлы и каталоги, что добавляет дополнительный уровень безопасности для ваших данных.
В дополнение - пара статей на русском языке по теме с нашего сайта:
- Как предотвратить модификацию файлов в Linux с помощью команды chattr
- Как защитить файл от перезаписи в Linux