Как сделать файлы и каталоги неудаляемыми даже с помощью root в Linux
В Unix-подобных операционных системах, включая Linux, root
— это учетная запись или имя пользователя, которое по умолчанию может изменять все каталоги и файлы в системе. В этой статье мы покажем, как сделать каталоги или файлы недоступными для удаления даже пользователем root в Linux.
Чтобы сделать файл недоступным для удаления любым пользователем системы, включая root, вам необходимо сделать его немодифицируемым с помощью командыchattr. Эта команда изменяет атрибуты файлов в файловой системе Linux.
Как сделать файл неудаляемым в Linux
Команда ниже делает файл /backups/passwd неизменяемым (или не подлежащим удалению). Это означает, что файл нельзя каким-либо образом изменить: его нельзя удалить или переименовать. На него даже ссылку создать нельзя и в файл тоже нельзя записать никакие данные.
Обратите внимание, что вам нужны права суперпользователя, чтобы установить или удалить этот атрибут с помощью команды sudo:
sudo chattr +i /backups/passwd
OR
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
Для получения дополнительной информации прочитайте эту статью: 5 команд «chattr», чтобы сделать важные файлы НЕИЗМЕНИМЫМИ (неизменяемыми) в Linux.
Вы найдете эти соответствующие статьи полезными:
- Как управлять пользователями и группами в Linux
- Управление пользователями и группами и включение доступа sudo для пользователей
- Как найти файлы с разрешениями SUID и SGID в Linux
- Перевести разрешения rwx в восьмеричный формат в Linux
Вот и все! В этой статье мы показали, как сделать файлы недоступными для удаления даже пользователем root в Linux. Любые вопросы вы можете задать через форму обратной связи ниже.