Представим ситуацию: на сервере под управлением Ubuntu Server есть общая сетевая папка, которой назначены полные права на чтение и запись для всех, однако в этой папке есть один или несколько файлов, которые никто не должен удалять.
Подобный метод организации хранения файлов частенько применяется к шаблонным файлам в сетевых хранилищах.
Проводить распределение пользователей по группам доступа процесс трудоёмкий и влечет за собой целую кучу сопутствующих сложностей, поэтому остаётся только наложить блокировку на удаление конкретного файла с помощью команды chattr.
Прежде всего, для реализации метода необходимо установить пакет e2fsprogs:
sudo apt-get install e2fsprogs
Теперь в терминале выполняем команду:
sudo chattr +i /путь_к_файлу
А чтобы снять блокировку с файла выполняем:
sudo chattr -i /путь_к_файлу
У данного метода есть одно забавное свойство: если попробовать удалить защищённый файл с сетевого ресурса из ОС Windows — он удалится, но стоит обновить содержимое общей папки — файл вновь тут как тут.