Как сделать файлы и каталоги неудаляемыми, даже root в Linux
В Unix-подобных операционных системах, включая Linux, root это учетная запись или имя пользователя, который по умолчанию может изменять все каталоги и файлы в системе. В этой статье мы покажем, как сделать каталоги или файлы не удаляемыми даже пользователем root в Linux.
Чтобы сделать файл не подлежащим удалению любым системным пользователем, включая root, необходимо сделать его неизменяемым с помощью команды chattr. Эта команда изменяет атрибуты файла в файловой системе Linux.
Как сделать файл не удаляемым в Linux
Команда ниже делает /backups/passwd файл нередактируемым. Это означает, что файл не может быть изменен каким-либо образом: его нельзя удалить или переименовать. Вы даже не можете создать ссылку на него, и никакие данные также не могут быть записаны в файл.
Обратите внимание, что вам нужны привилегии суперпользователя для установки или удаления этого атрибута с помощью команды sudo:
$ sudo chattr +i /backups/passwd или $ sudo chattr +i -V /backups/passwd
Чтобы просмотреть атрибуты файла, используйте команду lsattr.
$ lsattr /backups/passwd
Теперь попробуйте удалить неизменяемый файл как под обычным пользователем, так и под root.
$ rm /backups/passwd $ sudo rm /backups/passwd
Как рекурсивно сделать каталог неизменяемым в Linux
Используя -R флаг, вы можете рекурсивно изменять атрибуты каталогов и их содержимое следующим образом.
$ sudo chattr + i -RV /backups/
Чтобы снова сделать файл редактируемым, используйте -i знак, чтобы удалить вышеуказанный атрибут.
$ sudo chattr -i /backups/passwd
В этой статье мы показали, как сделать файлы не удаляемыми даже пользователем root в Linux. Вы можете задать любые вопросы через форму обратной связи ниже.