ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Вторник, 4 февраля, 2025
Сегодня у нас 1 праздник:
В 1943 году в Новом Орлеане (штат Луизиана) родился Кеннет Томпсон, один из создателей операционной системы UNIX.

Как заблокировать файл для переименования/удаления в Linux

Как заблокировать файл для переименования/удаления в Linux

Если вы когда-либо работали с конфиденциальными файлами в Linux, возможно, вы хотели предотвратить случайное переименование или удаление этих файлов другими пользователями (или даже вами самими). К счастью, в Linux есть несколько способов «заблокировать» файл, чтобы защитить его от нежелательных изменений.

В этом руководстве мы покажем вам, как заблокировать файл, чтобы предотвратить его переименование или удаление, с помощью простых команд и инструментов, доступных в Linux. Мы также приведём пример, чтобы продемонстрировать каждый из способов.

Предположим, у нас есть файл с именем important.txt в каталоге /home/user/ и мы хотим защитить этот файл от переименования или удаления.

 

Метод 1: Использование chattr для придания файлу неизменяемости

Один из самых простых и эффективных способов защитить файл от переименования или удаления — использовать команду 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

 

Теперь вы можете переименовать или удалить файл как обычно.

 

Способ 2: Использование прав доступа к файлам для ограничения удаления

Другой способ предотвратить удаление файла — изменить его права доступа с помощью команды chmod, которая устанавливает права доступа, делающие файл нечитаемым или недоступным для редактирования другими пользователями.

Чтобы запретить всем (включая вас) удалять или изменять файл, используйте:

chmod a-w /home/user/important.txt

 

Вы можете проверить права доступа к файлу с помощью:

ls -l /home/user/important.txt

 

Вы должны увидеть что-то вроде этого, где разрешение w (на запись) было удалено, что означает, что никто не может изменить или удалить файл.

Чтобы позволить себе снова удалить или изменить файл:

chmod +w /home/user/important.txt

 

Метод 3: Использование chown для смены владельца

Если вы единственный, кто должен иметь возможность изменять или удалять файл, вы можете изменить владельца файла.

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 для создания неизменяемого файла, настройка прав доступа к файлам и изменение владельца файла — просты в использовании и могут обеспечить необходимую вам безопасность.

Exit mobile version