Как я могу сделать невозможным удаление какого-либо файла пользователем, даже если он находится в его / ее домашней папке?
Возможно сделать файл невозможным удалить, даже от корня, в ext2/3/4 файловой системе, изменяя атрибут файловой системы файла:
$ cd
$ touch dummy
$ sudo chattr +i dummy
$ rm dummy
rm: remove write-protected regular empty file `dummy'? y
rm: cannot remove `dummy': Operation not permitted
$ sudo rm dummy
[sudo] password for enzotib:
rm: cannot remove `dummy': Operation not permitted
$
Больше информации о chattr
и lsattr
страницы руководства.
Если позже Вы хотите удалить файл, необходимо использовать
sudo chattr -i dummy
перед использованием rm
.
Существует два недостатка к этому: