В Linux есть несколько способов запретить редактирование файла. Вот основные методы:
1. Изменение прав доступа (chmod) — самый простой способ
Убрать право на запись для всех:
Только для владельца:
Проверить:
2. Атрибут неизменяемости (chattr) — надёжный способ
Даже root не сможет изменить файл без снятия атрибута:
sudo chattr +i файл.txt
lsattr файл.txt
sudo chattr -i файл.txt
3. Смена владельца на другого пользователя
sudo chown root:root файл.txt
chmod 644 файл.txt
Сравнение методов
| Метод | Защита от | Легко снять? | Требует root? |
|---|
chmod a-w | Обычных пользователей | Да (владельцем) | Нет |
chattr +i | Всех, включая root | Нет (только root) | Да |
chown root | Не-root пользователей | Нет (только root) | Да |
Полезные команды для проверки
ls -l файл.txt
lsattr файл.txt
namei -l /путь/к/файлу.txt
Рекомендация: Для надёжной защиты используйте chattr +i (требует root). Для простых случаев достаточно chmod a-w.