Если вы когда-либо работали с конфиденциальными файлами в Linux, возможно, вы хотели предотвратить случайное переименование или удаление этих файлов другими пользователями (или даже вами самими). К счастью, в Linux есть несколько способов «заблокировать» файл, чтобы защитить его от нежелательных изменений.
В этом руководстве мы покажем вам, как заблокировать файл, чтобы предотвратить его переименование или удаление, с помощью простых команд и инструментов, доступных в Linux. Мы также приведём пример, чтобы продемонстрировать каждый из способов.
Предположим, у нас есть файл с именем important.txt
в каталоге /home/user/
и мы хотим защитить этот файл от переименования или удаления.
Один из самых простых и эффективных способов защитить файл от переименования или удаления — использовать команду chattr, которая изменяет атрибуты файлов в Linux.
Сначала давайте проверим атрибуты important.txt
с помощью команды lsattr
, которая выводит список атрибутов файлов и каталогов:
lsattr /home/user/important.txt
Если файл не заблокирован, вы не увидите ничего или только -
в выводе.
Чтобы сделать important.txt
неизменяемым (не подлежащим переименованию или удалению), выполните следующую команду:
sudo chattr +i /home/user/important.txt lsattr /home/user/important.txt
Теперь вы должны увидеть i
в выводе рядом с названием файла, что означает, что он заблокирован.
Попытка переименовать или удалить файл теперь завершится неудачей.
mv /home/user/important.txt /home/user/important_backup.txt
Аналогично, если вы попытаетесь удалить файл.
rm /home/user/important.txt
Вы получите сообщение об ошибке “Операция не разрешена“.
Чтобы удалить неизменяемость и разрешить внесение изменений в файл, используйте:
sudo chattr -i /home/user/important.txt
Теперь вы можете переименовать или удалить файл как обычно.
Другой способ предотвратить удаление файла — изменить его права доступа с помощью команды chmod
, которая устанавливает права доступа, делающие файл нечитаемым или недоступным для редактирования другими пользователями.
Чтобы запретить всем (включая вас) удалять или изменять файл, используйте:
chmod a-w /home/user/important.txt
Вы можете проверить права доступа к файлу с помощью:
ls -l /home/user/important.txt
Вы должны увидеть что-то вроде этого, где разрешение w
(на запись) было удалено, что означает, что никто не может изменить или удалить файл.
Чтобы позволить себе снова удалить или изменить файл:
chmod +w /home/user/important.txt
Если вы единственный, кто должен иметь возможность изменять или удалять файл, вы можете изменить владельца файла.
sudo chown yourusername:yourgroup /home/user/important.txt
Замените yourusername
и yourgroup
вашим фактическим именем пользователя и группой.
Теперь вы можете проверить владельца файла и его группу с помощью:
ls -l /home/user/important.txt
Вы должны увидеть что-то вроде:
-r--r--r-- 1 yourusername yourgroup 0 Feb 3 10:00 /home/user/important.txt
Теперь только вы можете изменить или удалить файл.
Блокировка файла в Linux может помочь предотвратить случайные изменения, такие как переименование или удаление, что особенно полезно при работе с важными файлами.
Рассмотренные нами методы — использование chattr
для создания неизменяемого файла, настройка прав доступа к файлам и изменение владельца файла — просты в использовании и могут обеспечить необходимую вам безопасность.